"why should you have the freedom to charge any price you want for it?"
Why not? Paying can help support the development of free software. As an example, RMS used to charge money to send people free software on magnetic tape. This was a good way to raise money in the beginning of GNU so he could work on GNU. If it were required that programs be distributed without cost, I wonder where GNU would be today? RMS likely could not have dedicated 100% of his time to work on it as he did, quitting his job at MIT and all.
If you're concerned about someone overcharging, don't be -- The thing about free software is that it spreads around - If they're overcharging you can be sure someone will come along and undercut their prices.
