lines = f.readlines()
lines[int(numb)] = name + ' - ' + parol + '\n'
Строки читаются в список строк, при добавлении нового пароля программа обращается к списку по индексу, которого там нет. Нельзя взять список x=[1,2,3,9,10] и добавить в нему новый элемент выражением x[6]=20 (но так можно добавить новый элементы в словарь, или перезаписать значение в словаре или списке).
Добавить в список это append или extend.
Если пароли добавляются под номерами, нужно потом эти номера считывать с учётом того, что номер пароля может быть не равен индексу строки.
И еще желательно пользоваться средой, которая показывает, в какой строке в каком месте ошибка. Это условие вообще нужно включить в правила создания вопроса на сайте.