Ok so this will be a very long post, almost essay like lol. I just started writing and kept writing. I know most probably won't read all that, but since I wrote it, might as well post it haha...
Hockey will never surpass the other major NA sports and I'm ok with that. Like most have said, access to hockey for a young athlete is very difficult and expensive which cuts out a good portion of ppl due to economic factors. A lot of athletes in the NBA or NFL come from a poor background where one of the few options to get out is playing sports. On the other hand, more comfortable families would rather push their children into academics rather than sports due to the fact that only a fraction of athletes actually make it to the bigs. Of course there's exception and the reason for that is that high school football, basketball, baseball, etc are subsidized by municipalities, which gives every one a chance whether poor or rich. Highschool hockey is barely subsidized even in Canada and pretty much nonexistent in the US. An arena for every school would be just to expensive and that's the hard truth.
The other factor is hockey is probably the hardest sport out of all them to play. The amount of technical skills needed to play hockey at a high level easily surpasses the other sports. Raw athletic gifts and talent simply aren't enough. For the other major sports, you only probably need raw athletic abilities + 1 or 2 skills. Let's take basketball for example, you definitely need height and coordination as raw gifts, and as far as technical skills, know how to shoot the ball and dribble, depending on your position. You could basically just shoot the ball 1000 times a day from your high school years to college and end up being a good enough shooter to make it in the NBA (if you have the raw gifts aswell). And as for football, other than a quaterback, raw athletic gift like speed and strength are usually enough to get you a foot in the door. If you're a wide receiver for example, speed will get you in and catching abilities + route running will keep you there. As a defensive lineman, if you're strong enough to bull rush the offensive lineman and create chaos at the line of scrimmage, you already got one foot in the door. I'm not gonna go through all the positions, but you understand what I mean. (The thing that most ppl overlook about football though is that it's a very cerebral game no matter the position. Understanding schemes and what the other team is trying to do is what separates good players from the elite ones.)
Now we get to hockey. In hockey, from a young age, you need to learn how to skate, which is a bit like learning how to walk. That right there is a big difference from the other sports where all of them are played on 2 feet which is a natural state for humans, being on skates isn't. Then, when you got the skating part down, you have to learn how to stick handle, which is like adding an extension to your arms. Again, in the other sports, your hands or feet are in direct contact with that ball, in hockey you have to learn how to use a stick as an extension of yourself. Then, when you can finally use your stick as being one with your arms and hands, you have to learn how to shoot the puck accurately in tiny unpredictable moving openings. Two of the most important technical aspects of hockey are unnatural to human biology and need to be all done simultaneously. Only after mastering these technical aspects comes the raw athletic abilities. In most other sports, the athletic abilities come first. So yea hockey is hard to learn and expensive, so that doesn't bode well for regular children to pick the sport up for fun.
Now, for those that don't play and are just sports fan, which are the majority of sports fans, why isn't hockey attractive? Well, culture definitely plays a part. The US simply doesn't have a hockey culture generally speaking. It's weird because out of all the sport, hockey is probably the most interesting. Off course I speak as a person from Montreal where hockey is the only major sport we have. If Montreal had an NBA team or NFL team, I might view things differently. As a neutral fan though, I enjoy football, although watching a single game can get a bit tedious because of all the breaks in action. That's why I watch NFL redzone. And basketball, which I'm also a fan of, can also get a bit boring because of the repetitive aspects of the back and forth scoring race. What makes hockey interesting to me is how fast and unpredictable it is as a sport. The continuous intensity and mix of finesse and physicality is just something you don't see in other sports.
One thing to point out though is that both football and basketball, just like hockey, tend to be very exciting and tense when the game is close and nearing it's conclusion. Same goes for playoffs when the stakes are high and every play matters. But yeah, like I said in the beginning, hockey will probably never become as popular as the other major sports and I'm totally fine with that, it's popular enough that it won't go away anytime soon and that's all that matters.