Раскритикуйте мобильное меню — имеет право существовать?
1. Добавьте класс состояния .no-scroll для bodybody.no-scroll {
  overflow-y: hidden;
}
2. Пусть оверлей будет на странице всегда, но виден только когда на нем класс .active.overlay {
  display: none;
}
.overlay.active {
  display: block;
}
3. для оверлея и кнопки добавьте класс .menu-toggle, по этому классу будет вешаться слушатель для управления меню.
4. Перепишите так:$('.menu-toggle').click(toggleMobileMenu);

$(document).keyup(function(e){
  if (e.keyCode == 27 && $('#Mobile-menu').hasClass('open')) {
    toggleMobileMenu();
  }
});

function toggleMobileMenu() {
  $('body').toggleClass('no-scroll');
  $('.overlay').toggleClass('active');
  $('#Mobile-menu').toggleClass('open');
}
Навбар лучше сделать фиксированным.
Все в порядке, критиковать не за что. Оверлей можно не удалять а прятать.