Начните с приведения кода в соотвествии со стандартами pep8
Беглым взглядом:
while 1 == 1:
лучше заменить на
while True:
зачем вызывать операцию сравнения, если результат и так известен...
directory_copy = 'C:\\Users\\MinuteX\\Downloads\\This is a server of MC\\fantasy_city' #Вписать директория откуда копировать папку ||| ВАЖНО!!! С ДВОЙНЫМ СЛЕШОМ
directory = 'C:\\Users\\MinuteX\\Downloads\\Safe' #Впмсать директорию куда будут копироватся файлы, ||| ВАЖНО!!! ВСЕ СЛЕШЫ ДОЛЖНЫ БЫТЬ ДВОЙНЫМИ
почитайте за os.path.join
v_DIR = directory + '\\' + new_name + "_" + dt
Почитайте за os.path.join и f-строки
Всю вашу конструкцию в 5 строк можно привести к такому более читабельному виду к примеру:
destination_file = os.path.join(
DESTINATION_DIR,
f'backup_{i}_{datetime.today().strftime("%Y-%m-%d-%H.%M.%S")}',
)
directory_copy = ...
directory = ...
вынести за пределы цикла - в цикле вы присваиваете им циклически одно и то же значение, и дать более осмысленные наименования
В логику - не вникал...