I find myself haunted by this line from the On Boarding discussion. A marginal performing technical person in our organization made a grievous error and everyone in our organization quickly knew about it. This person immediately let their supervisor know but could have easily hidden it, complications may have ensued but would have been impossible to trace. They were upfront and honest about their error. This is not the first error of this type and they have been counseled on multiple occasions. The same degree of errors continue to occur and co-workers no longer trust their work
We're at the point of dismissal in order to prevent serious harm to the business- however - I am faced with being a hypocrite as it was their honesty that would be the final catalyst for their dismissal. How can one proceed with what needs to be done for the good of the organization while not using their honesty against them?
Honesty doesn't equal carte blanche
Honesty doesn't equal carte blanche to make an endless stream of errors. It also doesn't shield you from the natural consequences of errors you make. (Otherwise I could hire honest teenagers to do highly skilled technical work at a fraction of my current staffing cost -- and their errors would be "OK, since they 'fessed up." Right?)
You wrote "This is not the first error this type and they have been counseled on multiple occasions." It sounds like you already have grounds for dismissal. You're not terminating him for his honesty, you're terminating him for an unacceptable error rate.
Reductio ad absurdum: a thief who confesses is still a thief, not an "honest" thief -- honest people don't steal.