for p in range(5):
for o in Moves:
if(o == 1 or 2 or 3):
Moves.append(o+1)
elif(o == 4):
Moves.append(1) Для начала if(o == 1 or 2 or 3) - неправильное условие. Оно всегда равно True, потому что 2 = True и 3 = True. Такое условие НЕ проверят равно ли o 2 или 3.
А не работает, потому что эта штука уходит в бесконечный цикл даже с правильно написанным условием. Без него оно просто всегда будет добавлять o+1 до бесконечности, а с правильным будет создавать бесконечный список [1,2,3,4,1,2,3,4,1,2,3,4,...]
Что работает без этой части тоже непонятно, потому что спискок Moves = [1,2,3,4] зациклен в основной программе и будет рисовать один квадратик - на каждой итерации после первой черепаха будет делать: t.left(90)
t.forward(10)
Проблема в вашем коде заключается в том, что вы неправильно используете условие if(o == 1 or 2 or 3). Вместо этого нужно написать if o == 1 or o == 2 or o == 3. Исправьте это условие и программа должна работать правильно.