Как сделать таймер обратного отсчета одинаковым на двух компьютерах?
Посмотреть как написано у вас, откуда берется время - локальное время компьютера клиента? Или вы получаете время с сервера, и от него отсчитываете?
По setTimeout делается ЧТО? просто каждые 1000 мс время уменьшается на 1 сек, или каждые 1000 мс идет новый запрос к серверу, чтобы узнать свежее время?
Если просто уменьшается, то разница будет накапливаться, ибо javascript может работать с разной скоростью.
Правильно будет по setTimeout запрашивать новое время с сервера.
Можно по setTimeout уменьшать на 1, а каждую 5-ю секунду запрашивать с сервера точное время. Тогда все клиенты будут получать одинаковое время и каждые 5 секунд поправлять, если кто-то уходит вперед/запаздывает.
От наговорите сейчас. Каждые 1 - 3 -5 секунд отправлять запрос на сервер.  Просто берите время для счетчика серверное и все будут счастливы, а если не дай бог у вас будет хайлоад, вы подвешаете железку  такими 5 секундными запросами по всякой муйне.