The AHL’s website states that most players are signed with NHL contracts, but the AHL and NHL are not the same. Given so, how does it make sense that a non-NHL AHL player would normally have to be signed on an NHL contract, if one who is playing for the AHL is not an NHL player?
Under section 11 of the NHL Standard Player’s Contract (exhibit 1 in the 2013 CBA, starting at page 310),
It is mutually agreed that the Club shall have the right to Assign or to Loan this SPC [i.e. Standard Player’s Contract] and the Player agrees to accept and be bound by such Assignment or Loan, and will faithfully perform and carry out this SPC with the same purpose and effect as if it had been entered into by the Player and such other club.
It is further mutually agreed that in the event that this SPC is Assigned, or the Player’s services are Loaned, to another club, the club shall by notice in writing delivered to the Player advise the Player of the name and address of the club to which he has been Assigned or Loaned, and specify the time and place of reporting. If the Player fails to report to such other club, he may be suspended by such other club and no Paragraph 1 Salary shall be payable to him during the period of such suspension.
In other words: Hockey teams are allowed to loan their players. The CBA sets rules on when, how, and to who players can be loaned, but part of the contract a player signs is “we can tell you to play hockey for this other team and you have to then go play hockey for that team.” The NHL team decides the player is best employed playing hockey for an AHL affiliate (or other non-NHL team), so his assignment is “play hockey for them.”
This isn’t that unusual a concept, even in non-sports contexts. There’s no reason the work your employer assigns to you can’t be “go to this other company and do work for them;” this is exactly how temp agencies work.