So, as the above answers may give you a clear view on how to migrate your blog from wordpress.com to .org . Regarding the question about good hosting provider, here is my experience with different hosting providers.
1. Hostgator
I think this is the cheapest and reliable hosting provider. As a beginner, you can start out with this. Am using Hostgator India from 8 months and its good. Basically, everyone will suggest you go with Hostgator US but it's not a big deal, go with India and use CDN.
2. DO ( Digital Ocean)
Probably the best out of all but needs a bit technical brain to deal with it. They serve as droplets and uses RAW data rather than shared. Their service starts with $5 per month, you can add additional droplets, it's up to your requirement.
3. Others
Interserver, Bluehost, In motion hosting, Siteground are the other providers which I have experience and all are the same but if you have some good technical knowledge go with DO or else go with any of the others.