Я думал while wall_is_above(): выполняется пока есть стена, а когда ее нет, то должно же False сработать в главном цикле, а роботу по бубну он дальше бежит
while устроен таким образом, что один раз проверится это условие и начинается выполняться тело цикла .
потом когда одна итерация цикла отработает - возвращаемся снова к условию, проверяем и если оно верно - снова исполнять тело цикла