I record my songs and the volumes be all right and stuff but when it comes down to mastering im never satisfied...i do the eq, compressions and limiter and stuff but what all should i do to get a good master quality so that do vocals blend in perfect with the song and what order and things like that
Well there is no definite answer because it depends on a lot of variables and we're not both at your board listening to the mix...
Here are some basics to get you going:
First, record all tracks separately eg. Bass, Drums, Guitar, Vocals - this is essential for a good mix and master. I like to overdub my vocals for that truly professional sound.
Second, Listen to each track separate and eq them individually - make sure they sound their best on their own. ALWAYS MIX AT LOW VOLUMES!!! Any mastering engineer will tell you this. Music sounds great loud because it was mixed and master low!!!
Next, play everything together and see how everything sits in the mix; if some parts seem to cancel each other out (masking) then spread their frequencies out a bit on the eq. eg drop the lower 10hz from everything to clean it up, bring out the high-mid and high frequencies of vocal to get them on top of the mix and try panning different tracks left or right to add depth.
After a good eq session walk away! Give your ears a rest - come back the next day and listen to your favorite band as a reference. Now listen to your song and tweak the eq a bit more.
Next you should add reverb to certain tracks to fill in the mix and add depth. By this point you should have some tracks more left, some more right, vocals always straight up the middle and reverb to add depth.
Now you can compress to boost the gain but don't over compress; it will take the nuances out of your mix. Personally I don't compress drums - it's your choice.
By taking things in stages and giving your ears a break in between; you'll get a good master. It's tough to match what a master engineer can do but you can get decent results.