Porque lo que has descrito como un "mutex de conteo" es un semáforo.
Un semáforo tiene un recurso común con un número limitado de copias idénticas; Piensa en una biblioteca con 5 copias de un libro. Los usuarios pueden ir a la biblioteca y sacar una copia, y no importa qué copia obtengan porque son todas iguales. Sin embargo, solo 5 usuarios pueden tener ese libro desprotegido a la vez porque solo hay 5 copias.
Una exclusión mutua, por otro lado, es cuando desea "exclusión mutua", es decir, un usuario tiene la propiedad exclusiva de un recurso. Cada recurso es único. Entonces, digamos que ahora hay una biblioteca que posee solo una copia de 5 libros diferentes. Cada libro puede tener un mutex asociado a ellos porque es importante el libro que extraiga, y solo un usuario puede retirar un libro a la vez.
editar:
Sospecho que el mutex Keil RTX implementa esto adquiriendo un mutex primitivo, luego, una vez adquirido, lo primero es establecer un ID de quién "posee" ese mutex. En este caso, la interfaz de la biblioteca evita que los usuarios liberen un mutex que no poseen.
Implementar esto para un semáforo es más complicado, pero debería ser factible. Una forma es implementar esto podría ser después de adquirir una copia del semáforo primitivo, agregar su ID a una ranura vacía en una lista de tamaño fijo de lo que se ha extraído. Luego, para volver a registrarse, revise esta lista para el ID de la tarea (optimización: almacene este lugar local para la tarea, de modo que el registro sea O (1)), y si lo encuentra, elimínelo de la lista. Finalmente, libera el semáforo primitivo. Nuevamente, esto sería una opción de diseño de interfaz de biblioteca, no algo inherente a un semáforo.
La diferencia ahora es que la extracción es O (n) en el número de copias; esta es una gran diferencia de O (1) para todo lo anterior. No creo que las bibliotecas quieran cargar a todos los usuarios con esta sobrecarga innecesaria, por lo que la mayoría no implementa semáforos como este.