Почему не срабатывает остановка таймера?
Потому что новому объекту Timer, создаваемый при клике на .go, недоступен интервал timer. У каждого объекта они закрыты в области видимости.
потому что после остановки вы тут же его включаете опятьtimer.stop();
  timer.start();