You're acting like it matters that you're communicating that there has been a setback or delay. Your estimate is a deadline and failing to make the deadline will be a disappointment.
> Your job is to effectively communicate what is and is not possible, and at what cost.
No one cares about any of this. All the people who actually run the company care about is fulfilling what they are now contractually obligated to do -- an obligation they made without consulting you, so everyone can move on to the next round of customer commits.
> Sometimes things are complex and you know why they are complex and how they got that way and how to avoid those mistakes in the future.
That sounds like everyone working on any large project. That doesn't make anyone unfireable.