If I put "Wait ____ seconds" in a loop, why does it NOT wait?
They wait. Exactly as they are supposed to do. Not as you expect them do to.
Lets slow down the loop. At 16h00 (step 1) it commands: wait 10 minutes. At 16h01 (next step in the loop) it says wait 10 minutes. At 16h02 (step 3) it waits 10 minutes. So at what time wil the wait be over?
For step 1 at 16h10 (10 minutes later then 16h00), for step 2 at 16h11, for step 3 at 16h12. Or 10 minutes later then it gets called.
Lets speed it up. Lets assume that there is virtual no time between two steps. So what happens ? It waits 10 minutes, and then all the waits are over at the same time. After 10 minutes it fires them all at once.
I gave you two ways to do this in you original post.