contextMenu.addEventListener('click', function(e) {
    if(e.target.parentNode.classList.contains('rename-btn')) {  
      console.log(`Rename element ${e.target.tagName}`);
    } else if(e.target.parentNode.classList.contains('delete-btn')) {
      console.log(`Delete element ${e.target.tagName}`);
    }
});event то разный, поэтому и выводит тег контекстного меню, и опять же так как и раньше(чем больше ты вызываешь тем больше раз выводит тег)
  
  contextMenu.addEventListener('click', function(e) {
    console.log(e.target.tagName);
});contextMenu.addEventListener('click', function() {
    console.log(e.target.tagName);
});        
  
  deleteBtn.addEventListener за пределы function onContextMenu(e) и присвою ивент, то выводить будет тег контекстного меню, а не тег элемента по которому кликал ПКМ