This is possibly a picking issue.
The System "Compare two values" condition does no picking.
So if you have several instances no specific instance is picked.
Even less since it is in a function for which all picking is reset anyway.
So you need to pick your enemy again with "Pick by UID".
And same if there are more than one "UserSoldier".
Finally, instead of the Compare two values, use the compare instance variable condition of the Enemy object itself directly.