It needs to be pointed out that this law doesn't allow schools to pay players directly. There probably isn't enough money for that without totally restructuring athletic departments around the country (a football team like USC is wildly profitable, but most of that profit goes to pay for unprofitable teams like swimming, volleyball, etc). Paying players directly also has a number of Title IX repercussions that would likely need to be ironed out in court.
This law instead allows the players a way to make money for themselves based off their participation in sports. That simply frees athletes up in the same way that non-athletes are unrestricted from how they can earn money while in school. No actor is going to be kicked out of their school's theater program because they got $200 for acting in a local car commercial. Now the football player won't either.