The speed test picks a location close to you by default. As such, it is usually in the same city, even the same ISP, and they have plenty of bandwidth to that location. That does not necessarily hold true going across other backbones onto the internet, the bottleneck may be in any one node between you and your destination server. There are not many web servers that would allow you to upload much faster than that.
It could be simply a temporary congestion at the destination server, or your ISP. It may help to ask yourself the following questions:
Do you still get the same fast speeds if you pick a different server far from your physical location ?
Do you get the same speeds at peak times (5PM-midnight) as during the day ?
What speeds do you get when uploading to a different fast server ?
Are your modem signal levels good ?
Are you using wireless, any interference ?
I hope this helps some. Tweaking can generally improve your broadband connection, but it will not fix line issues.