Overriding permissions of existing page blocks all users
Is there any special reason that you're using 'taxonomy/term/%' instead of 'taxonomy/term/%taxonomy_term' in your implementation of hook_menu_alter()? If not, I would change that and clear the cache, see if it helps.

Edit...Here's a code example from the Term Per Role module:

function term_per_role_menu_alter(&amp;$items) { 
  $path = 'taxonomy/term/%taxonomy_term'; 
  if (isset($items[$path])) { 
    $items[$path]['page arguments'] = array_merge($items[$path]['page arguments'], array($items[$path]['page callback'])); 
    $items[$path]['page callback'] = 'term_per_role_taxonomy_term_page'; 
  } 
}


(A module which I would have recommended but the last commit on the project was over 3 years ago.)