I understand the general strategic reasons for choosing Normandy, but couldn't they have achieved the same goal by finding a remote beach somewhere on the French coastline and launched the invasion from there? Germany couldn't have had every single beach defended realistically, so why choose a heavily defended one?
Also, even if there were no other viable options, how come they spread out the assault along the 5 beaches? Couldn't they have focused their entire attack on the least defended beach (like Gold) and quickly overrun that area with pure numbers and firepower?
There weren't any undefended beaches within easy reach for aircraft and ships of the UK. For a run-down of other possible landing areas, see this answer. As to why they didn't just land on a single beach, the simple answer is that there's only so much stuff - tanks, troops, supplies - that can reasonably fit on a beach. If you try to put too much stuff on it, it becomes an easy target for artillery, and you get massive traffic jams. Attacking a single beach would also make it easier for the Germans to bottle up the beachhead. By spreading over five beaches, the Germans would have the much harder task of defending five separate locations. Different beaches were also closer to some of the initial Allied objectives - Utah was closer to the key port of Cherbourg than any other beach, while Juno and Sword were close to the key town of Caen. Gold and Omaha filled in the gap between these two extremes, making it much harder for the Germans to cut the Allied beachhead in half.