Anyone can leave their employer. To formally leave a club, a player needs to hand in a transfer request, forgoing the rest of their contract when they leave the club. Since contracts are worth millions to players I find this to be a completely fair compromise. The only way to resolve this legally is to set up a franchise model and have players owned by the league, which is absolutely not the way I want to see football go.