Actually, it does. It is the transitive property of equality. If a unit is eligible, this means it is able fight. If a unit is able fight, it must attack. Therefore, a unit that is eligible must attack. If a unit cannot attack, it isn't eligible to fight because eligibility hinges on the necessity to attack.
If the wording said "If you pick a unit to fight, it first piles in, and then the models in the unit can attack" then it would work. But the presence of the "must attack" means a unit that has been hit with soul cage cannot fight and a unit that cannot fight isn't eligible to be activated.