Bueno es que si editas varios tag a la ves solo te modificara uno, puesto que cada ves que se ejecuta el while te sobrescribe las mismas variables, osea tu modificas 2 tag, se ejecuta el bucle dos veses, la priemra le da el valor a las variables que hay dentro del while por ejemplo $catET2 = 1;
y entonses se ejecuta el while de nuevo, y le da a $catET2 el valor del ultimo id que saco de la base de datos, asi que cuando llega el if, el valor de tus variables es el del ultimo tag, editado, mete el if dentro del bucle o mete una sentencia update dentro del while, si no saca datos no se ejecutara, si los saca, pues se editaran los valores.
Espero guiarte, y ver si es eso lo que pasa.
Un Saludo
Edito: veo que en el delete pones Where ID='$catET3' pero $catET3 no esta definido en ninguna parte del script.
Si no es lo de $catET3 puedes poner esto dentro del while
Cita: $update = mysql_query("UPDATE cat SET id_noticia='".$_GET[id]."', id_Cat='".$catET."'"); //falta el WHERE
Adaptado a tu script claro. Un saludo