Если присмотреться, то змейка начинает в старых координатах по оси Х, но если нажать "вправо", то внезапно обнуляет координату Х и телепортируется к левому краю экрана. То есть как бы внезапно вспоминает, откуда нужно было начинать.
По теме вопроса: вы сбрасываете переменные, но не сбрасываете свойства блока. Вы же через стили его перемещаете. Тот факт, что змейка начинает сверху - это случайность, удача, потому что первым делом меняется свойство стиля, отвечающее за вертикальное положение, так что оно сразу перезаписывается, а горизонтальное остается прежним. По-хорошему нужно менять оба свойства стиля в момент (пере)запуска игры. А вы этого не делаете.