У вас значение vid не меняется. Каждый раз вы присваиваете ему 0, а потом сразу же +1. В конструкции with open у вас получается vid всегда равен 1. Поэтому файл и перезаписывается.
Как вариант добавить проверку, что такой файл уже есть, и если есть, прибавить 1.
И так пока такого файла найдено не будет.
import os.path
vid = 0
while os.path.exists(f'videos/{vid}.mp4') == True:
vid += 1
# и далее уже with open