Speaking as someone nearing the end of their undergrad and looking for internships/full time opportunities, staying in Canada is simply not competitive or attractive enough for the talented students in each class.
Local companies are not "big of a name" enough for career advancement (aka resume padding) and do not pay nearly as well either for entry level positions (50k vs 70/80k - taxes).
Furthermore I have heard of local startups that relocate or migrate down to SV for some period of time to fund raise or experiment before pivoting/failing/moving permanently to the US or their talent leaves during their time there.