1. Когда удалять пароль из базы?
Когда получишь новый пароль от пользователя. Если он пошёл пить чай, то это его проблема, если токен успеет протухнуть, то пусть вновь отправляет запрос на изменение пароля.
Токен, который ты шлёшь на емэил должен быть вместо логина-пароля, только доступ с этим токеном должен быть только для смены пароля и не на йоту больше. Все остальные действия и проверки проводи так же, как будто это обычный пользователь меняет пароль.