Поскольку это два разных шаблона (шаблонный класс и шаблонная функция-член этого класса), и тот, кто разрабатывал спецификацию, решил, что необходимо оставить ее видимой в определениях функций.
Я думаю, что это совершенно логично. Если бы это было сделано так, как вы предлагаете, программист, читающий ваш код, вероятно, подумал бы, что существует один шаблонный класс с двумя параметрами, и он ошибся.