Giorgi,
при первом клике -- скролл изменяет координаты scroll_el - поэтому позиционирование "ошибается" на величину которое вносит скрипт
$(window).scroll(function() {
var top = $(document).scrollTop();
if (top < 100) $(".floating").css({top: '0px', position: 'relative'});
else $(".floating").css({top: '-15px', position: 'fixed'});
});
думайте над логикой как это обойти
что то типа изменить
$('html, body').animate({ scrollTop: $(scroll_el).offset().top }, 500); // анимируем скроолинг к элементу scroll_el
на
var top = $(scroll_el).offset().top;
if ( $(".floating").css('position') == 'relative') top -= 100; //100 подберите сами
$('html, body').animate({ scrollTop: top }, 500); // анимируем скроолинг к элементу scroll_el