Is it possible to get proto files from generated pb2.py with protoc? Will be the same reverse engineering possible for gRPC?
It is possible but I'm unaware of any tools that do this.
Protocol Buffers (protos) including gRPC service definitions are compiled by protoc into language-specific sources. You're looking for a decompiler.
We know that the process is invertible because it works; we're able to send messages using generated sources -- even across languages -- to peers.
Reverse engineering .proto files from pb2.py generated with protoc