> forcing function to clean up tech debt
The real reason rewrites to fix tech debt used to fail was that it took too long to get to feature partity & the goal posts moved constantly while you were on the rewrite team.
The sunk cost of existing code is no longer considered in a rewrite.
Maybe it was hard to write in the first place, but it is not hard to rewrite anymore, as long you've got decent tests.
I think in Steam's case it was more like a lack of competitive pressure, their publisher dashboard still packs HTML/CSS fixes for IE6/7/8 that's code they probably haven't touched in ~20 years and it's certainly not because they couldn't afford or lacked time to work on it!