Money.
Typical amount of commercials time per game:
NFL 60-65 min
NBA 40-50 min
MLB 40-50 min
NHL 25-35 min
MLS/Premier League/World Cup 10-20 min
I was going to go with money -- the amount of money to put kids through soccer in a competitive program in USA/CANADA is way more than the competitive programs in europe. That immediately drops down the amount of talent that can make it through the system + anyone who is particularly good and has any connections to europe goes there to level up faster by playing more competitive players.