I believe the reason is that [@mouseover,@player] is not saying if the mouse is over the player but rather, if there is a mouseover and the player exists. Since the player always exists, that second /cast line is a dead logic branch.
Is there a way to know wether specifically the player is subject of the mouseover?
@mouseover works on player portraits in the group panel, which means checking for whether you mouse over another player in your group or yourself is redundant