"I haven't spoken to him for past few months" is indeed a correct choice and here's why.
Firstly, in a test I recently took I had to choose the right answer between two options:
I ...... to him for the past month.
A) didn't speak
B) haven't spoken
According to the key, B) is the right one. I donít understand why very well.
I havenít spoken to him for the past month
mean the same as
I havenít spoken to him since the past month?
When you have 'the past/last month', it refers to a period of time equal to a month (ie about 30 days coming up to today).
I spoke to him last month. = in November (finished time period)
I haven't spoken to him for the past month. = in the 30-day time period coming up to today