From my perspective, the kids still grow up playing football, baseball, basketball, hockey and they fall in love with the sport. Racing is pretty much a rich kid's playground nowadays where only the elite can compete. It's just inherently difficult to make it accessible to younger people. You can put a basketball court or and hockey rink in a park, your kids can play football in school. It's pretty hard to get kids out to the tracks unless their parents are already involved themselves.
In NASCAR's heyday, the drivers were regular folks, an everyday kind of man could relate to them. Now they're multimillion dollar brand ambassador's that have very little relevance in normal folks lives, in other words they can't relate to the younger generation. You still see poor kids coming up and making it big in other sports, but it doesn't happen in NASCAR very often. So there's no question that NASCAR faces an uphill battle in attracting a new younger audience, why would kids care about a sport they can't try themselves? Or their parents can't afford to take them out to see often? (not that it's getting any more affordable to see other sports these days)