The problem is that government subsidizes loans. It doesn't do something like capped match. The government should just say, "We will cover your need-based education burden up to $20,000".
Something like this would make most state schools accessible to most kids and yet, put a big limitation on how much schools can raise tuition. Some schools will raise it up to 40k, others will keep it at 20k, both will try to maximize intake for their tuition.
Simply handing out unbounded, undischargeable loans is just crazy!