The US is perfectly willing to enforce its own rulings on foreign companies operating solely abroad, at the point at which those companies' goods/services enter the US.
So why wouldn't we just assume that every country is going to do the same; and so pre-emptively self-regulate if we want to do business in foreign markets with differing laws?
Canada has every right to say that it will block Google from Canadians accessing it unless/until they censor those pages, not just for Canadians, but for everybody. Given that, and given that Google knows that they could do that, what options are Google left with (assuming they care about remaining available to Canadians)?
The current laws do not fix the problem - but it is hard to see which ones will
Every piece of the Internet, every server, computer, router, and switch, is in one country or another (barring the few floating out in international waters), and every single one of them is subject to the law in the country where it is. And every individual or business entity operating them is subject to the laws in the countries they are or operate in. This has always been this way.
The Internet is not any different than any other communication medium. We don't perceive a phone call as being something above or outside the law of the nation it takes place in. We don't see mail as being above or outside the law of the nations it traverses. The Internet is just another medium of communication between people and businesses like any other.
Does country A have any right to dictate what company B does in country C, just because company B operates in country A? Many of us say no, because that will only cause a downward spiral to make the internet the lowest common denominator of all countries that are connected.
Also note that country A absolutely can decide what terms upon which company B is allowed to operate in country A. This is true even of them stating what company B can and can't do in country C. If company B wants to do something in country C that company A prohibits, company B needs to decide whether it wants to operate in country A and follow country A's laws, or leave country A so it can do what it wants in country C.
The Internet is by design, and should be, decentralized. The "lowest common denominator" effect is an unfortunate side effect of centralized entities like Google trying to cater to everyone. But Google is the problem, exempting them from the law is hardly the solution. Smaller, localized providers will be able to better meet the needs of a given population's culture and laws, and address the unique problems associated with any given locality.
Yes, that does mean that the Internet won't look the same to everyone everywhere in the world, but that isn't a bad thing. Facebook in Myanmar is a great example that just because a website can be available globally doesn't mean it should. These global entities are not capable of understanding the impact they have on a macro or micro scale on that scope.
The U.S. does the same, and expects the same. In the scenario of this case, Canada is demanding that Google remove infringement of a Canadian citizen's copyright from Google's server. Similarly, the U.S. is well-known for aggressively pursuing entities in other country's for violating U.S. copyright protections.
Google is not the good guy here, they're trying to protect their ability to distribute pirated content. And they have no legal basis for their refusal to comply.
Note that Canada has not stated that data on a US server must be censored "when a Canadian connects to it". Canada has stated that Google must remove the data from all of their servers, regardless of where it is accessed. Aka, it is not okay to pirate a Canadian citizen's content even when it's on a US server and being accessed by a US citizen.
If the US wants its companies to comply with the standards of Canada, thats a topic for legislation... not something that ought to given by default.