Кнопка внутри формы неожиданно отправляет данные
Кнопка открытия подсказки запускает валидацию и отправку формы. У button внутри формы по умолчанию поведение submit, поэтому вспомогательным действиям нужен явный тип.
<button type="button" class="show-password">Показать пароль</button> <button type="submit">Войти</button>
Это исправляет причину без общего preventDefault на все нажатия. Настоящую отправку оставьте на событии submit формы: так работает и Enter. Если кнопка управляет раскрывающимся блоком, синхронизируйте aria-expanded. Проверьте мышь, клавиатуру и встроенную браузерную валидацию.