Get BT to do a line noise test first, and to rule out any problems at their end.
Secondly, you don't mention how far from the exchange you are, the longer distance, over copper wires the slower the DL Speed.
www.samknows.com should help you on this score.
BT Speetester site should do a simple test and log if the readings are way below par, VM will ask you to do this anyway, so best done prior to a technical call.
If you post some of your modem line stats from your routers homepage, some of the techy type peeps here, could give you a much clearer explination.
Dl, Upload Attenuation, line noise etc.
btw had similar probs and got booted from BT to VM back and back again more times than I care to remember. Problem only resolved itself when some local chavs nicked most of the BT coper lines
new BT street cable installed.....my DL speed doubled, and stayed constant, with no drop offs.
So it shows you it can be anyones fault, and two companies passing the buck.