Почему JS не находит элемент?
У вас в школе по английскому была честная двойка, или давали взятки ради троек? Ну, то есть - откройте словарь, и посмотрите, как переводится слово "next". Потом посмотрите в каком порядке расположены ваши элементы.
Про проблему с next/previous уже написали, но относительное получение элементов вообще чревато проблемами, что будете делать, если завтра верстка изменится?
label для input лучше искать так:function getLabelForInput(input) {
  if(input.id) {
    const label = document.querySelector(`label[for="${input.id}"]`);
    if(label) { return label; }
  }
  for(let parent = input; parent = parent.parentElement;) {
    if(parent.tagName === 'LABEL') { return parent; }
  }
  return null;
}