This happened years ago before the pandemic when choir rehearsals were still a thing. A soprano walked into the practice room about 40 minutes late, and that lead to an exchange that went something like:
Conductor: Why are you soooo late?
The soprano: The bus was late.
C: Should have caught the previous bus, eh?
The rest of us: ...
I remember telling her later why it almost always is not a good idea to explain why you got late, and to acknowledge that you accept responsibility instead.
As a general rule, only share what concerns the asker.
The bus being late does not concern the asker. But if the rehearsal schedule does not work best for me, I'd definitely communicate that.
Another approach is to not make it about yourself, but about the asker. Ask what makes the asker care in the first place? In the example, it was the conductor's way of telling us that showing up on time was important. So the right response would be to acknowledge that.
Sometimes the asker might be looking for validation. Like if they just changed practice timings, it might be their way of checking if the new timings work for you. Other times the why might be the askers business. Like if your boss asks you why.
If someone asks why, try not to look at is as a confrontation. No need to be defensive. Be calm. Think about makes them ask why, and keep that in mind while answering.
If I was the soprano, this is how I'd answer:
C: Why are you soooo late?
S: My bad. I'll be on time the next time (and then actually be on time :D)