I actually answered this question earlier in the year.
Starting in 2020, the use of duplicate numbers is restricted to only 2 players on a team. I don't believe there was a restriction before.
With walk-ons and all, there are way more than 99 players per team.
Rulebook "recommends" the following numbering scheme, but go through our roster and count # of players per position and line them up with this recommendation on defense - no recommendation on offense:
Backs 1-49 - 1P, 1K, 11WR, 6RB, 1TE/HB, 40DBacks = 60#s - 10 conflicts due to defensive players
Center 50-59 - 2Snappers, 1OLB, 1LB, 6OL = 10#s - OK
Guard 60-69 - 6OL = 6#s - OK
Tackle 70-79 - 9OL = 9#s - OK
End 80-99 - 7WR, 1HB, 9DL/DE = 17#s - OK
We have so many defensive side players, that they chew up offensive numbering schemes forcing offensive players to take numbers outside of their standard, historical areas, because NCAA doesn't really allow duplicates anymore.