I want the following: wait for 5 seconds, run block code which decreases column time to 4.95 seconds, run wait for 4.95 seconds, run block code which decreases wait time to 4.90 seconds, run wait for 4.90 seconds, etc.

I tried the following but it runs each action over and over again and there isn't any waiting. My output floods with the print statements from both wait and block code blocks.

You are not understanding how variables work, once you assign wait to sequence, that is it. The sequence will always be whatever was assigned at the time of creation. Creating a new instance will not solve this problem, because the old one is still in the sequence. Instead of a repeat action, you need to spawn a new set of actions every time you run through the sequence: