Here's a thought experiment. You write some code and a code reviewer points out that you used an API incorrectly, which you did because the documentation and test environments are out of sync with the production API. You will, of course, modify your code to use the API correctly, but will you "apologize"? Now again, you call the API incorrectly, but your company doesn't do code reviews and they just ship the code. Yo…
Why is apologizing (that is, accepting responsibility) for an error that you made--in either case, it's an error that you made--such a problem? This seems to come from a place of deep insecurity. Stop tying your identity to your work.
They are asked: "Would it be preferable to serve ice-cream cake, or traditional cake at your wedding?"
Alice writes "ice-cream cake" secretly on her answer card, but Bob is still thinking.
After some thought, Bob writes "traditional cake" secretly on his answer card.
Both answer cards are revealed. The answer do not match, so the couple does not win a prize.
Alice criticizes Bob, "you should have known this, we love ice-cream, we had ice-cream on our first date!"
Bob believes he is not at fault. They argue. At one point Alice says "stop tying your identity to that question, just admit you made a mistake".
Bob still believes he is not at fault, and that he made no mistake, because it was never within his power to be certain what Alice had written on her card.
---
And now I ask: Is it within your power to be certain how the hardware and software of a modern computer will act?
My point is I will never be able to be certain that my code is bug free. That will never be within my power. I can only ensure that I follow a process that gives a good-enough probability that my code works correctly. What that process is, and what "good-enough" means, is largely determined by my company and team. I do follow that process, I do what is within my power. Should I apologize for not doing what was never within my power? Should Bob apologize for not doing what was never within his power?
I do accept the responsibility of ensuring "my code" (however the company wants to define it) is working well with the rest of the system now and in the future. Apologizing is completely orthogonal to accepting responsibility. Apologizing alone is not enough to "accept responsibility", and one can accept responsibility without apologizing.
PS - Alice and Bob eventually learned to avoid making moral judgments immediately in every situation.