Other possible causes of hip snapping could be a tendon that rubs and snaps on occasion with certain motions, particularly on flexing and rotating the hip inwards. The hip labrum is a cartilage that helps to stabilize the ball part within the hip socket. If this is torn, it can result in catching or locking as well. A loose body, which is a piece of bone or cartilage that is loose in the hip joint itself, can also cause catching.
The fact that both hips are involved makes a diagnosis of a loose body or labral cartilage tear less likely and the more likely diagnosis would be a tendon or muscle that is catching. Many times these can be treated with a stretching and flexibility program, anti-inflammatory medication and occasionally a diagnostic or therapeutic injection.
The anatomy of the hip may result in a bony impingement, which can result in painful motion or catching as well. I recommend that your son see an orthopedic surgeon for evaluation of his hip to determine the reason for the snapping. You can then determine whether this is a serious or significant problem or something that can be easily rehabilitated.