I have to shoot long because their "basic" defence (that is their defence when I have the ball pinned) blocks the short shots on both sides. Unless you mean I shoot short and hope they will move out of the way
If their basic defense isn't on the long, and they're blocking your long shots, then either:
1) Your shot is too slow laterally or;
2) your takeoff isn't smooth (which is more likely).
But smooth, I mean there are no telegraphs that you are about to shoot. If you're sitting rocking the ball reading the goal, and then you "rev up" with a faser rock or a wider rock before you shoot, that's not smooth (and it's a major "tell" that helps the defense). Even worse is if you normally rock on the center of the ball but you "wind up" slightly off-center before shooting (e.g. if you're going to shoot push side, you move you man to be slightly off-center toward you to give you more ball to work with on the shot).
It's especially bad if your rock or other part of your takeoff tips them off as to whether you're about to go push side or pull side--you need to have identical takeoffs for those, and for the straight as well.
These are extremely common tells, and something like this is probably going on. The best way to correct them is to work with a friend and have him explain when you're telling; next best is video.
It can be very hard to recognize yourself that you're doing them because you don't have the defender's viewpoint.
If none of the above is the problem, you're too slow. But that's unlikely to be the main problem.
But you really need to get your shot to the level where there's no way they can sit in the middle and race you out to the corners when you shoot. If you're raceable, good goalies will shut you down. Improving your takeoff makes it a lot harder to race you.