There's one problem with saying "$300,000 in school fees is no problem, because you earn money after that pretty easily". The key term is that you earn the money after, not before. Which means anyone who cannot access $300,000 is denied the education regardless of talent. Thus ensuring only a select few with money can access the education, keeping doctors relatively scarce, but also reducing competitiveness (it's basically Affimative Action, but favoring rich people).
It's basically like Affirmative Action, but favoring rich people. Only the wealthy can access the courses, keeping numbers down, fees high, and making doctors face less competition after graduation, which keeps medical prices high. That's because an arbitrary screening process (how rich you are) distorts competition based on pure talent.
Where exactly does one get that money without low-interest student loans provided as a public service. Private banks tend to not want to give that sort of huge loan unless you're buying some sort of property which can be repossessed if you fail payments. Classes cannot be repossessed, and if you "drop out" or fail to find a job, you declare bankruptcy and the bank loses out.
Saying medical students should just work their own way through college to pay for fees, books and living expenses, also reduces the amount of time they have to study. With doctors in training, this isn't just something that affects themselves, it's potentially lives at risk.