According to the US CDC, some basic milestones for a two year old include:
- Says sentences with 2 to 4 words
- Repeats words overheard in conversation
To answer your broad question ("is this normal"), it sounds like he's a bit behind if he's only using one word at a time and not consistently. How far behind is hard to tell without being a physician, and his physician.
As far as what you should be doing, the answer is to see a speech therapist, and to coordinate with your pediatrician. It sounds like you're doing that, so for the most part you're already on the right track.
If you're uncomfortable with the current pace, the first thing to do is to talk to them about your concerns. They may be able to explain why the pace of things is what they are, and they can answer whether they believe there are other concerns (for example, though not suggesting it's relevant here, autism or learning disabilities), as there are many other signs they'd use to judge those issues other than simply speech.
If you're not comfortable with the answer you get from your doctors, please see another doctor. There's nothing wrong with getting a second opinion, other than a small cost presumably; either the other doctor will agree with the first, and you'll feel more comfortable knowing two doctors separately agree that they know what's going on, or you'll get a different answer, and you'll have to evaluate which is correct. We saw four different doctors for my son's amblyopia (lazy eye) before coming to a treatment plan that we think is working; each had a different approach, and we had to decide which we felt was the right solution.
I would caution you that any therapy will likely not immediately appear to be working, in most cases; even if there are no underlying disabilities, it just takes time to learn, and often with speech there's an "explosion" where it goes from 1 word to dozens in a matter of days, but it takes a long time to get there. Don't give up on something because it doesn't seem to be working for a few months; change because you think the other solution is better, and a doctor you trust says it is.