I don't think that's the whole consensus, though it's certainly part of it.
Silicon Valley's success is commonly attributed to being within proximity of two major schools (Stanford and Berkeley) fueling the talent funnel. But that is far from a sufficient explanation.
Massive government investment in R&D helped birth the first semiconductor and aerospace companies that helped create the first critical-mass concentration of tech industry and talent.
And those were just the baby steps. The current behemoth of the Silicon Valley machinery is sustained in large part by the enormous amount of investment, as well as ease of access to said investment. Modern startups go to/stay in the Bay Area largely for funding reasons.
> "They also would have sold to Yahoo IIRC but Yahoo didn't want to pay enough"
And therein lies the difference between Canadian tech and Silicon Valley tech. In Silicon Valley Google had enough funding to keep going and reject Yahoo's offer, and thereby growing by leaps and bounds into the giant company we see today.
If they were in Canada, they would almost certainly not have had the funding, and be pressured into an early sale for less, and Google today would probably be a sub-brand of some stodgy old behemoth of an enterprise-tech company.
Funding is, IMO, Canada's biggest problem. I've worked in the Toronto side of the software industry, and still know some people on that side. Canadian tech is dominated by either very large enterprise software firms, or slow-and-steady small businesses. There is no readily available investment source to perform the type of "grow fast, shoot for the moon" type of startups that the USA is known for (see: AirBnb, Square, etc, companies that took enormous amounts of funding very quickly and scaled just as quickly).
A startup in Canada means going for profitability very quickly, and being doomed to a slow-growth strategy, as large chunks of cash are nowhere to be found.
On a more sombre/cynical note: as a Canadian expat in the US tech industry, I basically have given up hope on Canadian tech. The first step is for the industry, government, and everyone to acknowledge that Canadian tech is fundamentally dysfunctional. And I just don't see this happening. Every opening of another satellite office that exploits the large salary gap is greeted with pomp and circumstance and speeches about how Canada's being recognized for its unique technological prowess.
Gag me with a spoon.