Логично, тк значение у тебя записывается в момент выбора города (клик в попапе). Соответственно, при обновлении страницы, попап ты уже не показываешь, тк уже записана кука (modal_shown)> а раз нет попапа, то и не отрабатывает событие "currentCity = $('.header-city').text("Ижевск");"
Нужно дописать обе функции:
$(".overlay-1").click(function(){
$('.overlay').toggleClass('hidden');
currentCity = $('.header-city').text("Ижевск");
//записываем в куку значение города
$.cookie('city', 'ijevsk', { expires: 7, path: '/' });
return currentCity;
});
$(".overlay-2").click(function(){
$('.overlay').toggleClass('hidden');
currentCity = $('.header-city').text("Москва");
//записываем в куку значение города
$.cookie('city', 'moscow', { expires: 7, path: '/' });
return currentCity;
});
$(document).ready(function(){
//здесь нужно добавить инструкцию, которая проверяет куку и записывает значение куки в блок,если кука есть
});
А еще лучше на клик по попапу просто записывать куку. И потом проверяя значение куки дописывать его в блок.