When I send a message on protonmail, does my IP address show up in the header or any other place? Will I need a VPN to be completely anonymous?
Just run it through TOR and you will not have to worry about IP leakage. Almost all email message servers will leak whatever IP you provide them. To get security and anonymity, you need both encryption and some sort of anonymizing service that you can trust. I certainly would err on the side of caution and perhaps use a VPN and a bridge with TOR if you are this concerned about IP leakage.
The simple answer is NO. The easiest way to test is send an email from Protonmail to a Gmail account. Then go into Gmail, open the message, click the 3-dot menu in the message and choose "show original". There you can see all of the meta/header/etc. The only IP address you will see is the IP of the Protonmail mail server in Switzerland. You can Ctrl+F to search for your IP... you will not find it. Protonmail would have to deliberately add code to attach your IP to the header. I don't believe that would work with their business model.