I think this is a sign of companies not knowing how to get useful work out of junior developers with only a few years of experience, much less fresh college graduates. This is an extremely challenging problem at small scales, and one that most companies simply aren't up to. In my experience, listening to engineering management discuss these matters, the few people who entertain the idea of hiring junior developers do so for fairly abstract reasons:
a sense of moral obligation, a sense of contributing to the health of the industry, a desire to challenge the software engineering team to mature in its practices, etc. I'm sure there are companies out there that know how to employ a junior developer at the going rate and actually get their money's worth, but it isn't common knowledge, and I haven't seen anybody succeed at it firsthand. If my experience is typical, we're just overall shitty as an industry at using young talent.
That creates a problem of incentives, where purely self-serving organizations will let other companies bear the expense of employing junior developers and helping them learn the ropes, and then hire them when they're worth it.
As an aside, professional soccer solves this by granting a team certain rights to the players it develops, so if a player is trained in Team A's youth academy, and Team B wants to sign them at age 18, Team B pays a fee to Team A. Team A may agree to reduce the fee in exchange for a share of any subsequent sale, so if the player develops into a top professional and is sold to Team C at age 22, both Team A and Team B benefit financially.