secure communication between accounts

Transit Gateway does not encrypt data between accounts. However, it's over the AWS backbone which many people consider sufficiently secure. Whether it's secure enough for you depends on your risk appetite and compliance requirements.

Application level encryption (eg TLS) over Transit Gateway is usually one of the easier ways to achieve encryption in transit over TG.

If you want encryption in transit for all traffic between accounts you can set up VPN connections. There are different models, some with appliances on EC2 instances, some using the AWS built in services, but from memory I don't think you do it all with AWS services - at least not last time I looked. I do recall seeing that AWS can initiate a VPN connection recently, but not sure if that helps.