Well, I'd rather the day be sooner than later.
Agreed, but we're not the ones making the decision. And the people who are have two options: move forward with a risky, expensive, and potentially career-ending move with no benefits other than the system being a little more maintainable, or continuing on with business-as-usual and earning massive sums of money they can use to buy a bigger yacht next year. It's a pretty obvious decision, and the consequences will probably fall on whoever takes over after they move on or retire, so who cares about the long term consequences?
You run months and months of simulated transactions on the new code until you get an adequate amount of bugs fixed.
The stakes in financial services is so much higher than typical software. If some API has 0.01% downtime or errors, nobody gives a shit. If your bank drops 1 out of every 1000 transactions, people lose their life savings. Even the most stringent of testing and staging environments don't guarantee the level of accuracy required without truly monstrous sums of money being thrown at it, which leads us back to my point above about risk vs yachts.
There will come a time when these old COBOL machines will just straight die, and they can't be assed to keep making new hardware for them.
Contrary to popular belief, most mainframes are pretty new machines. IBM is basically afloat purely because giant banks and government institutions would rather just shell out a few hundred thousand every few years for a new, better Z-frame than going through the nightmare that is a migration.
If you're starting to think "wow, this system is doomed to collapse under its own weight and the people in charge are actively incentivized to not do anything about it," then you're paying attention and should probably start extending that thought process to everything else around you on a daily basis.