из-за того, что при первичном рендере input №2 не существует, на него не применяется библиотека VeeValidate
Не совсем так, "input №2" - он вообще не существует, никогда. При смене значения show используется уже созданный элемент - потому что virtual dom, ага. Из-за этого veevalidate и косячит.
Задайте инпутам key - тогда они будут пересоздаваться при изменении show, и veevalidate заработает как надо.