Because your code does double-runs itself: at the end of the first turn finalstep calls start but then bot's message handler calls start again.
finalstep
start