So, I think there are a few things going on with the referenced blocks. The first, as @renren66 mentions, is the use of separate variables within the loop rather than the ones that the loop provides by default. The second is the explicit change
change blocks to increment the variables. The loop block will do that for you automatically.
The last is a bit more complicated. Fortunately I wrote something up on this previously, so please take a look at Asynchronous Blocks within Loops. It refers to the Realtime DB
component rather than the Spreadsheet
component but the concept is the same.
Hope this helps.
-Mark