So, why is it that mlb/nfl/etc can require contracts for players, but ncaa can't? What is the legal difference bw ncaa & mlb/nfl/etc?
mlb, nba, nfl, nhl, cfl, mls, etc, etc all have collectively bargained agreements between the leagues and the players where the players' reps have agreed to a set of rules regarding the conditions of their employment. The pro leagues are de facto natural monopolies who are led by a single commissioner's office.
The members of the NCAA are each an independent entity.
As such, a collection of its members limiting an individual's ablilty to seek other opportunites to play or to earn is collusion, because there is no agreement between the players and a conference or the NCAA as a whole for the players to voluntarily surrender any of their rights.
Those players are pretty much free to move...unless those players volunteer to sign a contract to stay until the end of the last game.
A lot, if not most, of the NCAA's regulatory authority regarding "amateurism" includng compensation and mobility has never had much grounding in legality.