Your measurements is almost just like mine. I'm 5'9, 155 lbs, 39" chest and 17.5 shoulder. I found medium Epaulet shirts to be wearable but a bit tight in the chest, while size large feels comfortable and still look pretty fitted. So I've sold off most of my mediums and buy large exclusively now. I think medium should work for you but small likely would not.
Thank you. Do you have the Canine sport coat? I am thinking of getting one and wondering what size you wear if you have one.