I would not throw any money at it until you get the issue diagnosed.
The best way to diagnosis the HD is put it in an external enclosure and boot from there—this will bypass the internal SATA cable. If it boots successfully externally, then you have identified the problem as the SATA cable.
I agree.
If it won't boot externally, then you can connect the drive to another computer and check the drive's health. I would check the drive's health even if it boots externally. If connecting the drive to Mac you can use DriveDX along with a special driver. If you connect it to a Windows PC, then use GSmartControl. If these apps don't show it as failing, feel free to post a screenshot of the drive's SMART Attributes (or Health Indicators) using one of those apps. Most drive failures can be determined from the use of those apps.
For memory, I am partial to Crucial as I very seldom get a defective module and I've rarely had them fail. Stay with a name brand or you will likely encounter issues. Crucial's website provides an easy way to identify the correct part for your system and they are usually fair on price.
For SSDs, I like the Crucial MX series, but Samsung is also a good option. I've used the OWC Mercury line, but I don't care for them as much because OWC doesn't list what firmware updates fix and OWCs platform independent firmware updater is sort of "ok" for Apple systems, but not for anyone else. Don't bother with the Crucial BX500 SSD as it is an economy model lacking many features and can be slow. Stay with a name brand SSD or you will likely have problems. Also make sure the manufacturer provides a platform independent firmware updater in an .iso format so you can update the SSD's firmware. Some brands only provide a Windows app for firmware updates.
While you should always have good verified working backups, it is even more important when using SSDs. Sometimes SSDs will fail without any advanced warning signs. Data recovery may not be possible due to the way SSDs operate internally.