The main reason was that the occupation zones of Germany were already decided by the beginning of 1945 at the Yalta Conference. The Allied troops advanced as far as the Elbe River which was the agreed upon border between the 3 allied zones and the Russian zone. Now, obviously they could have advanced more, but what was the point? The Russians would be occupying that territory right after, so why spill your own blood for the Russians.
This is also why the USSR was able to administer all of Eastern Europe after the war, even though Stalin had promised to allow free and fair elections (most notably in Poland).