The government cannot shop for the consumer. You must take responsibility for your own purchases. The government cannot mandate markup.
Having said that, Rogers and affiliate companies do operate a rather non transparent system with phone pricing "buried" in the monthly fee. The typical consumer is either to lazy or too stupid to check out exactly what they are getting into. They are happy to receive their zero dollar phone and not think beyond that. Pricing phones are full MSRP is the carrier's way of handcuffing the customer into staying the duration.
While we are on the topic of non transparent pricing for hardware, have you ever wondered why the monthly fee doesn't change after the device balance drops to zero. These types of plans are great for those who stay the duration. They are terrible if there's buyer's remorse before the end of 24 months.
The only brand that offers division between monthly fee and device cost is Koodo. I am sure lots of customers hate the Koodo system because they can never get a free phone. But then again, is there anything that is truly free?