I fixed your bot.
Your issue was you set the topic in both, not just the second.
Also the bots don't like to say the same response twice in a row (normally if the user asked the same question twice in a row they want a different response), so even though your second response was the best response, it used the first one because it did not want to repeat itself.
I fixed it with a condition on the first response.
conversation.topic != "dancing"