I'm thinking about volunteering first and establishing connections that way. Is this a good way?
You could do this, but in my experience a lot of the time the doctors don't like the volunteers harassing them for shadowing opportunities while they're trying to work. I know we were explicitly prohibited from asking anyone while I volunteered at the University of Michigan Health System.
Here's what I did. I googled up all the medical faculty at U of M, wrote a form email, and sent it to everyone that seemed relatively interesting field-wise. From that big amount, I got a smaller amount of them to respond, then from there I found 2-3 that I was able to shadow for a few days. It was great. Here's the form email I wrote and sent:
"My name is Benedictus123, and I'm a graduate student at the University of BLAH. I was wondering if it would at all be possible to shadow you while you work, so I could gain a better understanding of what it means to be a physician. Please let me know what is convenient for you time-wise should you be interested. I look forward to hearing back from you! Thanks!"
And, it worked! Don't overthink this - the point is just to get in somewhere and observe as much as you can. Shadowing was a really rewarding experience for me, and I learned a lot!