Почему код не работает правильно?
Реализацию рестарта нужно добавить в тело игры, т.е. в функцию convert в вашем случае. Я бы сделал следующим образом:
player_v = input('Если да то нажмите (y) если нет нажмите (n)')
if player_v == y:
    convert()
else:
    print('Игра окончена')
Особо в код не вчитывался, но мимолетно заметил что вы ведете счет игры, если это действительно так, то стоит обнулять его сразу после проигрыша и перед рестартом, чтобы новая игра не началась с уже имеющимся счетом.

UPD: Плюс, в вашем случае условный игрок не успеет увидеть надпись о том, что игра закончится - так как программа сразу завершит работу. Последней строкой кода запишите пустой input. Это позволит вывести надпись о конце игры и не закрыться программе моментально.

UPD2: Если мне удалось помочь вам с вашей проблемой, будьте добры выберите мой ответ как решение! Спасибо и удачи!
оборачиваешь в цикл и в конце спрашиваешь:
i = input('Повторить (y/n)')
А дальше, если y то на новую итерацию, иначе выход из цикла