COBOL case is bit different. You can’t just modernize millions of lines of code that is functionally unique without service disruption - and services that uses COBOL that large often tends to be very sensitive.
The fact that COBOL as a language is both atrocity to either use or read didn’t help that either.
I would also wager that Valve was worried about Microsoft attempting to use “creative” methods to compete with Steam and chipping away at them, like hidden API. Its not like Valve knew that Microsoft’s attempt would continue to flop so hard for decades that they couldn’t even try that.