I agree...you probably underpitched. But, If I were to guess it is more an issue with lack of Oxygen or other nutrients. How did you aeriate your wort? Shake it? add O2 or filtered air?
Chances are you will still have some fermentation over the next few days but one of the biggest culprits in under-attenuation is not fully aerating your wort before pitching yeast.
During the later stages of any fermentation where your gravity has made a sizeable leap in a short span of time such as your case of 1.071 to 1.023, the easier fermentation work has just been completed at this point which is what you witnessed with the vigorous airlock activity in the first few days. Now the harder work for the yeast has begun where they have to break down more complex sugars. This process is slower and there is less CO2 being released which is why the airlock show intermittent activity. So just because your airlock isn't bubbling like crazy doesn't necessarily mean the yeast aren't working to further ferment.