Ah! Silly me! The nesting of independent layers (as I said above) won’t work. Pins can pin a layer to the parent. So the way Martin works is the +Guitar layer has pins pinning it to the parent Independence group. In your case, right arm is independent to the body, so +Guitar can only pin things to +Right Arm. If you remove independence from Right Arm, then the +Guitar can attach to the body (the shoulder in particular) via pins. That is, after fixing the children of +Guitar (your puppet has moved something deeper than Martin has in the PSD file), then remove independence from Right Arm, and it started working for me.
Thanks for staying up late to figure stuff out for me. I tried your suggested methods which indeed did latch the arm to the body. However, the behaviour of my puppet wasn't the same.
Good news I figured it out by moving the Guitar pin backwards & parallel to the stem of the guitar (now I remember I did that on the original before the crash). I also fixed the head by removing the + from +Right Head which was conflicting.
Yes, the hierarchy is intentionally different to Martin so that the puppet looks more realistic when play the guitar. Take a look at the updated puppet and see how it correctly works like it did originally.
I do need help to make the fingers switch between Default & Twofinger simultaneously with the arm movement. I have latched all 3 arms so that I have time to move the fingers. Character Animation

Hopefully this might help more people struggling with this puppet template.
Thanks for always being there!
Cheers,
Ian