Hola
No se si he entendido bien el problema que tienes, pero el input tipo button no acepta required, así que nunca aparecerá el mensaje del navegador dando error.
Tampoco entiendo lo de que compruebes el valor, el input button es un botón como su nombre indica, por lo que el valor nunca cambia. Tu javascript esta mal, ya que la expresión que has puesto siempre es falsa. Pero como te digo, no es necesario ponerla.
Tal vez lo que tienes que utilizar es un input tipo radio o checkbox.
Saludos.