Если я правильно понял ваш алгоритм, то сначала у вас создаётся запись с first_name и last_name, а потом уже в существующей записи обновляется поле email.
Тогда попробуйте
validates :first_name, :presence => true
validates :last_name, :presence => true
validates :email, :presence => true :on => :update
И при добавлении поля email загружать уже существующий объект.
Тогда на первой форме у вас будет будут проверяться первые два поля, вы сохраните объект.
Потом, на второй форме, вы загрузите объект с уже заполненными полями first_name и last_name, и обновите его. А при обновлении сработает валидация на поле email.