It has to do with value exchange and market conditions, and the fact that education is just like any other service. Somebody has to prepare it, create materials, use a facility and spend time delivering that education. Since it doesn't just fall from the sky, it has an inherent cost to produce associated to it.
The cost of education can be reduced with technology, for sure - by removing the need for human educators and fixed facilities (like universities), the total cost to deliver the knowledge can be reduced substantially. We already have examples of this working in the real world, with edX.org being the prime example. Even UCT has launched online courses.
Can tertiary education be made free? Again, yes: If an employer is willing to pay training costs as part of an employment agreement, the employee can get the benefit of that education without having to pay for it, and will deliver enough value to the employer with the new skills they gain, to make the whole deal worth it.
Can tertiary education be made free by the state, to anyone? That's where it gets complicated, and in short I think the answer is "no". Any tertiary education course worth pursuing should be upskilling the student to take on a real-world problem, and deliver value to the market. It makes no sense to get a degree in an area nobody is hiring in - if you want to do that, you should be free to do it with your own money.