So this is just kind of guessing without seeing your swing. However I would say that if you are pulling your irons you are coming inside out, or it could be a weight transfer issue. This may be linked to several problems is my point. The most common of what I have seen is involving your hands being to quick. Your hands want to square the face and you want to try and even out the swing. This may cause you to come off plane and eventually pull it in when on your downswing. Like I said this is something that is hard to identify without a swing video but my guess is it has something to do with your downswing and swing plane in general. I am no Pro so don't quote me on that.
How I have found is the best to fix this is to try and stand on your left leg and take a few swings holding the club in your left hand (if you are right handed) and take a few swings. This may help you come away in a straight like and not pull it on the inside. Sounds kind of funny but when I have been getting into a rut of pulling the ball this helps me a lot.
In regards to your ball position it could very well be that you have the ball to far forward. I would suggest having your middle irons around the belt buckle line. Your longer irons typically are just forward of the belt buckle. Driver and woods are typically on the back side of the heel of your left foot. (in the event you are right handed again.)
I hope this helps, Like I said I am no pro but this should help. I know it has helped me.
TGB