Because your iterating through it with a for loop & there's nothing to stop it progressing through the lines of code seeing as there's no simple way of adding a pause between the Lua lines.
What you could do is utilize the textStarted & textStopped event handlers. Use the textStopped one for example to check current table index against table total entries, then update an integer value & then call a function which returns a dialog from the table based on the new value... At least that would be one way to auto-iterate through texts without having to resort to a mainLoop & because you are waiting on texts to stop, you are getting the desired break between each one.