Ok, so your problem comes from the event number 12. There, you select all the moving friends, then filter them using the boolean "isEngaging". The problem is in your comparison after that. You compare distances using the Friend.X, Friend.Y, ... When you do a system comparison (like here), it should be known that, when multiples elements are selected, only the one with the lowest UID is used in the calculus. In your case, you have a selection of 2 moving friendly units. When the first one reaches the enemy, the condition is verified, but you still have the 2 moving units selected, so the "Stop" event 14 is applied to both units.
What you want : use a forEach condition on event 12 (yes, add the condition with the 2 other ones already there), and the events will be evaluated for each moving friendly unit, individualy.