Stalin (quite understandably) had demanded that the Allies open a Second Front as early as 1942, yet this did not happen till June 1944. Why did it have to wait till so late?
It depends on how you define "Second Front."
The Allies opened a "second front" in North Africa in November, 1942. That was huge because the battle of Stalingrad was going on at the same time. Germany had to divert most of its air transport fleet to reinforcing North Africa, and suffered heavy casualties. When the transports returned to the eastern front, there weren't enough of them to resupply Paulus by air (even though German transports had done the job of supplying surrounded "pockets" near Moscow, in the winter of 1941-42.)
In June, 1943, the Allies invaded Sicily (followed by Italy in September). This diverted some 20 German divisions from the Russian front (almost as many as were lost at Stalingrad), even though they were sorely needed in Russia after the battle of Kursk.
The thrust of your question seems to be, why didn't the Allies open a "second front" in FRANCE earlier than 1944. That is a matter of logistical and other issues. One deterrent was the failure of a "probe" at Dieppe in August, 1942.
Uh, because they couldn't? You make it sound like the Allied forces could just waltz into France whenever they wanted. In 1942 the US had nowhere near the resources necessary to mount an invasion of France. Basic problems like where would water and oil come from were completely unsolved. The Germans had air control. That alone prevented any thought of invasion. The allies were only doing night bombing. Why? Because a daytime raid would have been suicidal. If you cannot even bomb Europe safely, you are not going to be able to invade it safely.