Yes — the two private subnets can communicate with each other automatically, even if they are in different Availability Zones, as long as:
1. They are inside the same VPC
2. The route tables allow communication
3. The security groups / network ACLs allow traffic
You do not need internet access, NAT Gateway, or VPC Peering for this.
Communication happens completely within the internal AWS VPC network, which is private and does not touch the public internet.
Think of a VPC like your own private network inside AWS. Every subnet inside it (private or public) can talk to other subnets inside the same VPC — unless you block it with security rules.