Ну потому, что это вопрос физической зависимости сервисов друг от друга. Вы можете разделить фактический код, а функциональную зависимость никак.
если мы не можем функциональную зависимость разделить - у нас не микросервисы, а монолит. монолит надо тестить весь разом, так что и хранить его можно в монорепе, хуже уже не будет
а вот если мы связываем сервисы на уровне протокола, и его не трогаем - прекрасно можем их тестить независимо