Как показано в документации к этой функции, существует несколько режимов, в которых вы можете открыть файл в python:
'r' для чтения 'w' для записи (перезаписывает существующие файлы) 'a' для добавления (пишет только в конце, это проблема вашего скрипта) '+' для обновления (чтения и записи)
Когда вы открываете в режиме записи или обновления, есть такого рода указатель (позиция поиска), указывающий python, куда писать. Если вы открываете в режиме добавления, этот указатель всегда находится в конце текста, независимо от позиции поиска.
Попробуйте открыть в режиме 'r +' для чтения и обновления.