Как удалить все классы, начинающиеся с определённой подстроки?
Array.from(el.classList).forEach(n => el.classList.toggle(n, !!n.indexOf('modal--')));
или

el.classList.remove(...[...el.classList].filter(n => n.startsWith('modal--')));
или

for (let i = el.classList.length; i--; ) {
  if (el.classList[i].search('modal--') === 0) {
    el.classList.remove(el.classList[i]);
  }
}
или

el.className = el.className.split(' ').filter(n => !/^modal--/.test(n)).join(' ');
или

el.className = el.className.replace(/ ?modal--\S*/g, '').trim();
Получить массив с именами классов,
отфильтровать начинающиеся на искомую подстроку,
удалить только их:
snippetчерез 3 секунды удалятся классы, начинающиеся на "habr--"