The simple reason why Canadian drugs are cheaper is that their national health plans fixes the price they will pay. The pharmaceutical companies just shift their losses on Canadian drugs to the US market. These programs if they were successful would have just further increased costs to American consumers.
The drug companies are still making a profit over their marginal costs of production and distribution. They are not recovering proportionate R&D costs from the Canadian market. The U.S. consumer is picking up a disproportionately large share of the tab for R&D for the Canadian market (among many others).
There is a common misconception that Canada 'forces' pharma suppliers to lower prices. It has no such powers: Canada just buys only those drugs which are offered to it at what it deems to be a good price. This is why 57% of American-made medications are not available in Canada at all.
A related lie is that Canada threatens to invalidate the patents for overpriced drugs to produce its own supply. Actually, only developing countries get to do this (the "TRIPS Agreement"). Canada observes the same international patent laws that we do.