I'd say it's an issue with offsets and / or scale.
Here is the default cone, with its origin moved to the tip. (Add default cone, move cursor to (0, 0, 1) then transform > Origin to 3d cursor. Now we add an empty at this point and make it the object offset.
ie the origin of one blade (basically its pivot point) and the array modifier object offset, the empty, are at the same point. Ok that's offset dealt with.
For your blade, make the origin the pivot point in centre of propeller nose cone. Even if this means it is outside the blade mesh.
Rotate the empty to 120degs on y, and "whallah" a cone propeller.
Make sure the scale of the empty and prop (in my case the cone) is (1, 1, 1) by applying scale, or this will effect the array modifier result. (increasing or decreasing in size of each iter)
Lastly, if I make the empty the parent of the cone, I can move the whole set up by moving the empty without upsetting the array mod.