He's still a pup and at that age as with many teenagers he will rebel a little, you say left, and he'll go right kind of thing.

You sound to be doing a really good job with him, if he is trained and obediant at home alone with you, then you have done a good job, his age is an awful lot to do with his behaviour.
At home his over excitment is easy to control, when peole come to visit pop him straight on lead and keep him close, ask them not to make a fuss of him when they firstly come in, get him to sit next to you on lead give him the sit and quiet command as Staffs can be quite vocal when excited too as you have probably gathered.

After 10 mins let your visitors give him a pat if he is still excitable keep him sat next to you on lead, once he is calm let him off, if he jumps up and gets excited put him back on lead and wait a few more minutes, continue to do this all the time until he is calm.
If you do this for a few weeks, he will eventually learn to be calm with visitors, and to obey your sit and quiet commands.
The flexilead and long line are great for his recall training, again with age he will loose interest in greeting everyone he comes across, just continue with the excellent training you are giving him, it is the worst age right now for disobediance so just keep up with it and have patience and by the time he is 2 you will have a happy, obediant dog.