From Perception Logs to Failure Modes: Language-Driven Semantic Clustering of Failures for Robot Safety