I had similar issues and almost the exact hashrates and they were all because of the versions of the drivers I had on my mining rig.
I had the latest amd drivers installed and it turned out that that's not the best option for mining.
You need to first completely remove the old drivers you have by using a tool called DDU (google it) and then download these drivers:
http://support.amd.com/en-us/kb-articles/Pages/Radeon-Software-Crimson-ReLive-Edition-Beta-for-Blockchain-Compute-Release-Notes.aspxI had similar hashrates until I installed those and boom got 30.5 mh/s on ether with my 580s. Also look for a good bios mod on anorak.tech and make sure it matches your memory type.