У вас ничего не ссуммируется. Просто вы устанавливаете в свойство top красненького блока такие значения. Точнее, для этого вы используете переменную coverPos, в которую изначально пишете расстояние от верха страницы до блока, по которому кликаете. Если красный блок был выше изображения, то и это расстояние включает высоту красного блока.
Проблема решится, если до начала расчета позиции вы будете скрывать красный блок, либо если будете учитывать его расположение на странице.