At 21, if not mentally deficient your son is amply old enough to consult a doctor about such intimate issues, which may be helpful towards his self-esteem (to seek out his own solutions to such questions and problems).
A classic self-test of erectile issues is the postage stamp test (it checks to see if erections are occuring overnight).
His disease is a mixture of several serious diseases (it may be hard if not impossible to answer your question, and an answer may not be of help). Testosterone level is mostly a testicle function and is easiliy tested for by a blood test. His signs of puberty would be a clear indication his testosterone levels are present.
You are right that he is old enough to talk to doctor about intimate private issues. Thanks for commenting