Formal:
* Pourquoi êtes-vous en retard? (Why are you late?)
* Quelle est la raison de votre retard? (What is the reason for your lateness?)
Informal:
* Pourquoi tu es en retard? (Why are you late?)
* C'est pour ça que tu es en retard? (Is that why you're late?)
* Tu es en retard, pourquoi? (You're late, why?)
To express surprise:
* Tu es en retard? Pourquoi? (You're late? Why?)
You can also use "à cause de" (because of) to explain the reason for being late:
* Je suis en retard à cause du trafic. (I'm late because of traffic.)
* Je suis en retard à cause de ma voiture. (I'm late because of my car.)
The best way to say "why late" in French will depend on the specific situation and the level of formality you need.