This kind of thing is usually going to be a hardware problem. It could be a bad SATA cable, a bad power supply, a bad memory module, or a bad motherboard. If the system is overclocked, make sure to return everything to standard clocks for troubleshooting. I am also presuming that the copy of Windows used is legitimate and isn't hacked in any way (which can itself cause many issues).
Some easy things to try:
1) Run a memory diagnostic test (you can use the Windows Memory Test utility, or something 3rd party like Memtest86+) to check the memory. A defective memory module can cause downstream hard drive errors.
2) It wouldn't hurt to install a monitoring utility like HWINFO to check temps to ensure nothing is overheating.
3) Install the hard drive manufacturer's diagnostic software (or a 3rd party utility like CrystalDiskInfo) and run a SMART test on the drive. Though you've swapped the drive, that doesn't mean the new drive couldn't also be defective (though it isn't likely that is the case). Rather, the SMART test results might also indicate if the drive is having a hardware communications issue with the system.
4) If you have never done it, try to replace the drive's SATA cable with a new one. You also can try to change the SATA port the cable is plugged in to. If the motherboard has SATA ports provided by multiple chipsets (i.e. such as Intel and Asmedia), make sure the drive is always plugged into an Intel-provided port as they tend to be the most stable.
5) Check the Windows reliability history to see if there is a recurrent failure or other recurrent problem that would suggest a source
6) Make sure the system is running the most recent available BIOS
You didn't provide a system component list (i.e. make/models of power supply, motherboard, memory, hard drive, etc) so it is hard to give further specific suggestions. However, in general, when it comes time to try swapping hardware to troubleshoot, I suggest that you start with the power supply (you can set a spare up outside the case and just swap all the cables over to test before removing the old one). If the memory and power supply test out okay, I'd only then at this point consider swapping the motherboard.
One final thing to try before actually replacing the motherboard is to remove it, check the mounts to make sure nothing is grounding out, then re-mounting it to see if this resolves the issue.
If you suspect a bad motherboard but the problem isn't getting any worse, you could try to add a cheap PCIe SATA card to the system to see if it resolves the boot issues before buying a new motherboard.