The main issue is you need to find out why did your score debacle even after a better score in mocks. May be you were too nervous that day or you were too tired or you did not take GMAT Prep tests to get an actual answer of your ability.
I think you need to take things in a very structured manner.
I would suggest you the following:
1. Go through
OG once again; the guide deserves it. I have read many debriefs in which successful candidates have mentioned going through
OG at least twice. I hope you go through their solution all the time, even if you have got a question right you should go through the whole of official explanation. To add to official material you can also try, official quant and verbal reviews. The main issue is to find out what went wrong so for that take a mock GMAT Prep test. If you still score much better in this test than 580 then it means you did not keep your nerves during the actual exam. To solve this problem you should practice more questions.
2. Quant - you seem to have an average score in this. I have heard very highly of
GMAT Club tests. You can try them. They seem to be sufficient for practice with 1500+ questions. This course would fine tune your quant.
3. Verbal - If you have been getting below 30 or lower 30s in verbal almost all the times, then I would suggest you to take up a professional course because to improve in verbal you need to have a very disciplined structure. I would suggest you
egmat for this (I have been using the course too). You can signup for their trial account and can view free webinars.
4. First get a structured plan then only periodically give mock tests. The purpose of mocks is to prepare you for the long exam duration and help you in figuring out a good strategy for yourself. Don't take their test scores very seriously (except those of GMAT Prep) but always see what kind of questions are you getting wrong for eg if you lack in concept of modifiers and get confused in word problems, then specifically do that kind of questions on gmatclub forums.
I hope it helps.