But no 17 year olds.
Better example is NFL requiring 3 years out of high school.
I can think of a couple reasons off the top of my head, and they both involve the NFL protecting what matters most to them: their money.
Lots of kids can look like all world studs against their high school competition but then fail to maintain against more level competition. NFL owners would rather let the player prove themselves against more balanced competition before sinking millions into an individual.
The NFL has no farm system and doesn't need to invest in one while they've got college football free of charge. Let the schools foot the bill while players physically and mentally mature, or flame out. They'll still be at risk of missing on a prospect but astronomically more certain than investing on an untested teenager.
Basketball and baseball players have summer leagues / opportunities to compete outside their regular seasons. By the time they're 18, the majority of players with upper level talent have been identified and tested against other high level players.