From what I researched, I'm assuming I need a NAS device and a VPN. I was also told that I may need a static public IP address.
A NAS is just an appliance that acts as a file server. Functionally, it's not different from the office file-server that you're going to build – i.e. your old PC is going to be the NAS.
Having an office VPN server is a good idea, especially for Windows RDP and File Sharing services. (Many routers support hosting VPNs, as it's exactly the kind of network service that a router deals in... but at the same time, cheap home/office routers tend to be quite bad at it – usually a Linux server running OpenVPN does a better job.)
What you'll also need is to make sure that the office's Internet connection has a decent upload speed. Residential and small-business connections often have an asymmetric plan that's not suitable for hosting, with fast download (to the office) but minimal upload (from the office). For example, if your server is behind a 50/5 Mbps connection, all your remote employees will struggle trying to pull their files through that 5 Mbps.
I have an old PC that I plan to use for this setup - with new HDDs of course. It runs Windows 7 with AMD Athlon 64 X2 Dual Core 5000+ and 4 GB memory.
This hardware might work, but I would wipe Windows 7 from it first, rather than directly using it as a server – both because Win7 is a bit too old, and because "client" editions of Windows (even Pro) have limits on concurrent incoming SMB connections. (I think the limit is 10 users at a time?)
With something like Linux or FreeBSD (possibly TrueNAS), though, it will do the job in the beginning – it can be an OpenVPN server, and/or it can be a NAS running ZFS and Samba (for Windows file sharing).
You still have the issue of the CPU being quite old, though. It'll definitely struggle with serving files and handling multiple encrypted VPN connections at the same time. (It'll probably suck power, too.)
Do I need a static public IP address? In what scenario would I need to have one?
A public IP address, static or not, is required for a device whenever you want to reach that device across the Internet. (Though you only need one public address, for reaching the office's VPN server, and everything else at your office can be reached using private addresses through the VPN connection.)
Depending on what kind of Internet connection you have, the ISP might give you just one address that gets assigned to the office's ISP router – that's good enough if the router is configured to NAT ("port-forward") the inbound VPN connections to the actual VPN server.
(All of this is not limited to VPNs, of course, but things like Windows Remote Desktop and File Sharing should definitely go through a VPN and not be exposed directly to the Internet if you can avoid it.)
A static public IP address isn't entirely mandatory, as there are ways to automatically update DNS entries with your new dynamic IP address whenever it changes (and you definitely should be using DNS if you can), but having the server's address be static will definitely make things much easier (as well as looking more professional).
Finally, note that many VPN apps exclude the VPN server's own address from the tunnel (to avoid infinite loops where tunnel packets go through the tunnel again and again). Because of this, hosting a VPN server and a file server on the same IP address will need some care (i.e. make sure the file shares are being accessed through the server's internal VPN address, and that they're impossible to accidentally access through the public one).
Is there any way to set it up so I could access the server files directly from Windows explorer? Perhaps an alternative would be via web browser?
Over a VPN connection you can use the same Windows File Sharing (i.e. SMB) as on a local network. (Though keep in mind that it won't perform well on high-latency connections – SMBv2/v3 is much better than the ancient SMBv1 in that regard, but ≥50ms between you and the server will still be quite noticeable.)
A dedicated NAS will probably also have a web-based file browser – though it's likely that you won't be able to edit files through it directly, just manually download and upload. Though some systems may support WebDAV, which runs over HTTP but can be accessed through Windows Explorer very similarly to a SMB share.
I have read about RAID for data backups. Is RAID 1 good enough for my scenario? Software RAID or hardware RAID?
RAID is not for backups, it's for uptime/redundancy. If one disk in a mirror array dies, RAID lets you swap in a replacement disk without having to restore from backups (and without having to stop everyone's work for several hours), but if a file is deleted – or ransomware'd – there's no way RAID would save you from that.
(On that note: Desktop motherboards often do not support SATA hot-plugging the way server and NAS systems do, meaning a reboot would still be required to swap disks. An emergency reboot is when you typically discover that the server will no longer boot at all.)
Software vs hardware depends on the quality of the specific implementations available. On the one hand, a dedicated hardware RAID controller on a Real Server (e.g. from HP) will be better than Windows "Dynamic disks" software RAID – but on the other hand, ZFS software RAID will be better than a "fakeraid" pseudo-hardware RAID.
Dropbox
! If it's only for storing media and files (depending on how big the files, Google Drive might not be a good option), it might do the trick