A culture of short-termism isn't the problem here. The problem is that the business rules that the code needs to implement are ridiculously complex.
Keep in mind that the sort of organizations that use large Cobol systems (e.g. banks) are typically subject to very large amounts of regulation. Their code has to meet all the relevant regulations at all times, plus handle internal business rules.
The laws for all of the regions a large bank works in would likely be tens or hundreds of thousands of pages. There isn't a way to condense that into a small amount of elegant code.
Well, it pretty much is. Everyone's concerned with how many eggs they're dealing with. But the basket's falling apart. It's not like we haven't already had situations where banks have found themselves completely unable to process payments for weeks at a time. And it's only going to get worse.
Keep in mind that the sort of organizations that use large Cobol systems (e.g. banks) are typically subject to very large amounts of regulation. Their code has to meet all the relevant regulations at all times, plus handle internal business rules.
The laws for all of the regions a large bank works in would likely be tens or hundreds of thousands of pages. There isn't a way to condense that into a small amount of elegant code.