21 billion in mining rewards / 100 million transactions per year is about 210 dollars per transaction. You'd need an average transaction size of $7,000 for a 3% fee to be comparable which it most certainly is not.
Mining rewards are not fees. They're the initial distribution mechanism (as a fairer alternative to pre-mining). The median transaction fees[0] which users actually pay are much lower: about 65¢ currently. With Lightning transactions they're negligible, potentially as low as 0.00000001 BTC (0.064¢). You can expect this to increase over time as the mining rewards drop, but there is no need to replace all the mining reward with transaction fees, and simple economics says that people wouldn't pay fees that high anyway. Instead the effort expended on mining will drop, resulting in a lower mining difficulty. We're in a "gold rush" phase right now due to the initial block rewards; that won't last forever.
Miners are incentivized to keep adding hardware/electricity until total cost = revenue. To pay their bills, they have to sell their new bitcoin to people which is effectively like a fee as their selling of 21 billion dollars in new bitcoin supply to pay their bills reduces the price of bitcoin acting like a fee on buying it.
> To pay their bills, they have to sell their new bitcoin to people which is effectively like a fee …
No, that's nothing like a transaction fee. The person submitting transactions to the network doesn't pay the seigniorage for minting new bitcoins. There is inflation due to the mining rewards (currently less than 2% annually, and set to decrease over time) which places some slight downward pressure on prices. That inflation is a cost for those holding bitcoin, not those spending it—not that anyone would notice it given the way the price has appreciated.