What to actually say
Open with this, more or less word for word: I was wrong, and I'm sorry, and I'm not going to explain it this time.
I was wrong, and I'm sorry.
A clean sentence with no clause after it reads as an apology; the moment you add 'because,' it reads as a defense.
Last time I explained why I did it, and I think that came across like an excuse. That's on me too.
Naming your first mistake shows you noticed it without making them re-litigate it.
I know I said I'd be there and I wasn't, and there isn't a good reason for that.
Specificity about the actual harm proves you understand what you did, not just that you got caught.
You don't have to say anything back right now.
Removes the pressure for them to perform forgiveness on your timeline, which is usually what keeps people angry longer.
How it usually goes
A version of the conversation with the push-back left in, because that is the part you need to have already heard once.
What not to say
I said I was sorry, what more do you want from me?
Turns your apology into an invoice and makes their continued anger the problem instead of your original action.
I only did it because I was stressed/tired/scared.
Whatever follows 'because' gets heard as the real point of the sentence, and the sorry disappears.
Can we just move past this?
Asks them to manage your discomfort with their anger, which tells them your comfort still outranks their hurt.
If they say 'sorry doesn't fix it'
They're not wrong, so don't argue the math of it. Don't offer a bigger gesture to compensate either, that turns the apology into a transaction. Say: 'You're right, it doesn't. I'm not trying to fix it tonight, I just wanted you to hear it without a but attached.' Then stop talking. The instinct will be to fill the silence with more reassurance or another version of the apology. Don't. Let the silence be theirs to use, even if it's uncomfortable for you.