Trouble Spot No. 2
The triceps (the muscle on the back of the upper arm, between the callus on the elbow and the back of the shoulder) can also be a limiting factor in the movement of the "up" arm in Gomukhasana. The triceps assists with shoulder extension and also extends the elbow. If it's tight, it can significantly restrict your ability to flex the shoulder and elbow at the same time, which is the desired position of the up arm in Gomukhasana.
While you may already be practicing stretches that facilitate shoulder flexion, chances are that if Gomukhasana's arms are difficult for you, you aren't working on stretches that combine shoulder flexion with elbow flexion. Try doing Gomukhasana's "up" arm one at a time after working on poses that bear weight on the arms, like Sun Salutations, when the pecs, lats, and triceps are warm and tired. Start by standing in Tadasana. Externally rotate your right arm and flex the shoulder to 90 degrees. Grasp the back of the upper right arm with your left hand, to help hold the external rotation as you fully flex your shoulder until your arm is overhead. Still holding the upper arm near the elbow with your left palm on the triceps, keep the triceps facing straight ahead as you bend the elbow and bring the right palm to your upper back. Your left forearm will be in front of your forehead. Don't grasp the right elbow as you may have been taught in some yoga classes, as this will release the external rotation. Hold the stretch for a minute or two as you visualize lengthening from your back waist to your shoulder (the lats) and from your shoulder to your elbow (the triceps), but don't collapse the left side of your waist.
Keep the right arm next to your ear without letting it splay out to the side or pulling it behind your head, which will lose the rotation. Keep your chin level, and don't bend your head to the side. Don't overarch your low back; if you tip your torso backward it can make you think your elbow is pointing straight up when it isn't.
If you have very tight or muscular arms, give yourself support to help yourself stay in the stretch longer. Stand in a doorway with your right arm up in the stretch. Place your right triceps on the doorjamb, with your body and face looking through the doorway. Gradually press your armpit into the doorjamb, so there is less and less space between your armpit and the doorjamb, and your elbow moves up toward the ceiling. Again, don't overarch your low back. In this position, you should find a good stretch of your right shoulder and triceps.
Trouble Spot No. 3
Now let's work on the "down" arm, with the shoulder in extension and full internal rotation. The muscles that limit movement into this position are those that perform external rotation and flexion of the shoulder. The muscle primarily responsible for shoulder flexion is the deltoid (the shield-shaped muscle that forms the "cap" over the shoulder), assisted by the clavicular (originating on the collarbone) part of the pectoralis major, and the biceps brachii and coracobrachialis (both are muscles of the front of the upper arm). The prime movers in external rotation are the teres minor and infraspinatus. Both originate on the scapula, cross the back of the shoulder joint, and insert on the upper outer humerus.