I don't think that has much to do with it. Football is the most popular sport in the US and there are no international tournaments. Baseball is no longer in the Olympics. People don't care about the Olympics and such as much as they used to.
I see the real issue with accessibility to the sport. In the US, I would venture a guess that almost every high school in America has at least one of football, basketball, or baseball offered as varsity sports, and probably a great majority offer all 3. How many offer ice hockey? You need some combination of a large enough metro area to support a rink (with activities besides HS hockey), a community with some money, and a region that historically supports hockey (basically the Northeast and some Midwest). I'd be surprised if even 50% of school districts in Michigan have hockey programs. My hometown (Big Rapids) was the only high school in the region that offered ice hockey if I do recall, and none of our prominent rivals/conference mates did.
I don't think the NHL has a chance to be the #2 sport in the US because of the dearth of high school level programs. It's fairly easy to field high school football, baseball and basketball. Every school has a gym for basketball and it serves as a multipurpose space for assemblies or other sports. Baseball diamonds and football fields are relatively cheap to maintain when you just need to cut the grass and put up some cheap bleachers. Hockey? You need a substantial investment to create a large indoor, refrigerated building that for all intents and purposes is just a single use structure. It costs a lot to maintain.
I also agree with those earlier that stated the cost to enter the sport is difficult too, because of the need for a lot of specialized equipment and space as opposed to the other sports.