Конструкция
$("#pum-235").show()
всегда будет true в контексте
if else, так как возвращает объект. Следовательно зачем она нужна в условии не совсем ясно.
Вот тут вы уже влезаете в чужой код:
$(".mfp-wrap").hide() + $(".mfp-bg").hide();
Влезать в чужой код, а потом удивляться что он перестал работать глупо, вам так не кажется? Если вам нужно закрыть тот popup, то закройте его, нет необходимости нарушать работу чужого кода. Есть кнопка которая его закрывает, вот она:
<button title="Close (Esc)" type="button" class="mfp-close">×</button>
эмулируйте нажатие этой кнопки -
$('.mfp-close').click()
и никакой проблемы не будет
$('#hider').click(() => {
$('.mfp-close').click() // Скрыли предыдущий popup
$('#pum-235').show() // Показали ваш
});