Причина номер раз: потому что автор кода говнокодер. Ну, то есть - вы даже отформатировать код не удосужились. Причина номер два: проверяется состояние только одного инпута, того, где случилось событие. А надо проверять все.
Исправляем:
$('form').on('input', function() {
$('.button').prop('disabled', $('input', this).get().some(n => !n.value));
}).trigger('input');
// или
const form = document.querySelector('form');
const button = document.querySelector('.button');
const inputs = [...form.querySelectorAll('input')];
form.addEventListener('input', () => button.disabled = !inputs.every(n => n.value));
form.dispatchEvent(new Event('input'));