поставили обработку клика на документ window.addEventListener("click", hide)
отменили всплытие клика из блока
multiselect.addEventListener("click", function(event) {
event.stopPropagation() //отменяем всплытие клика иначе выбор любого чекбокса или клик по кнопке закроет управлемый блок, т.к. при открытии мы навесили обработчик закрытия
});
значит любой клик на который способна отреагировать hide находится в любом месте кроме multiselect --- клики внутри не доберутся до hide
есть ли там show ,если есть то мы запускаем функцию hide, --- никто не запускает hide поймите !!! а ставится обработчик клика и если он не понадобился он снимается , если кликнули во вне он сработает и сам себя с клика уберёт.