I have this issue. I've ALWAYS had this issue. Or the opposite problem of it being too far back, but that only rarely.
Try riding standing in your stirrups. Not in two-point but actually standing, with your thigh vertical and your upper body straight and tall. Can't do it, I bet. Then try moving your lower leg back. You'll feel like it's way out behind you, but you'll be able to do it now! Now drop your knee. The only way you can do this is to bend it more because your ankle will already be dropped as far as it will go. This is your "seatbelt" position and you will go NOWHERE with your leg in that position. No matter what your horse does you're not going anywhere. To keep your knees down, take the biggest dog you can imagine and pretend it's sitting on your knees. You physically cannot lift your knees. No matter what you do they will NOT come up OR forward.
Viola, no more "PUT THOSE HEELS DOWN!" from your instructor. Because they physically cannot come up when your "dog" is there and strong.
It's VERY hard, and very frustrating, but it works!
A CLEAN SLATE FOR THE FUTURE