gRPC is not directly a Google product, it's donated to the CNCF. Google has use cases where google.rpc.Status is sufficient, but there are a LOT of other companies that have different use cases and requirements. The Proto status can be impractical on Android for instance, where Protos cause large binary bloat and method count.
Also, recall that gRPC uses HTTP/2, which means trailers typically will contain the status. Proxies, logging, and other request processors would have to unpack the proto to use the fields. This makes it hard to use prebuilt tools to monitor the traffic. As an example, consider two approaches to expressing a DEADLINE_EXCEEDED scenario. In this scenario, your monitoring wants to know if the deadline was exceeded due to the server timing out, or because one of the dependent backends of your server timed out. If it was the first, it should alert your monitoring, in the second case, the dependent backend should be alerting. To express this dichotomy, you include either a custom field in status Proto, or a custom header in your gRPC trailing Metadata. Lastly, suppose you have a proxy (like Envoy, or nginx) that can see the responses of your server and fire alerts.
In the proto scenario, your proxy (or other alerter) cannot look into the fields, so it has to assume all DEADLINE_EXCEEDED errors are noteworthy, since it cannot inspect the proto. In the trailing Metadata scenario, a lot more tooling can inspect the headers and make a decision.
This scenario is a little contrived, but coming back: If we standardized on the Proto, it would exclude some valid use cases, for a proto dependency, and make gRPC not protocol agnostic. Google /can/ decide for all of it's code that Proto is okay, but it cannot dictate it is right for everyone. (what about the gRPC+Thrift users?)