The events inside the triggered event are still working top to bottom. So if your variable is 0, in that tick it is set to 2, then also within that tick the next condition is true, so the variable is set to 4 and so on.
Add "wait 0" before the actions in each sub event so that the condition check happens once in the first tick, and then the variable is not updated until the following tick.
And yes, you don't need the trigger once conditions.