A word for a person who wants to speak, but can't due to lack of courage or lack of conviction that what he speaks is correct
Solution 1:
I'd suggest diffident.
Modest or shy because of a lack of self-confidence.
‘a diffident youth’
Source: ODO
Solution 2:
timorous TFD
Full of apprehensiveness; timid. full of or subject to fear. characterized by or indicating fear or timidity: a timorous approach to a serious problem.
As in:
I reproached myself with being so timorous and cautious — Daniel Defoe
Solution 3:
The first word that springs to mind is "Shy".
You could also go with "self-effacing" or "timid"