I know bitcoin core is the most popular/suggested software to run a full node, but are there other options?
There are alternative full node implementations -- Knots, BTCD, and Libbitcoin to name a few. However, Core is much more actively maintained and audited than any of the alternatives, so it's a more secure and reliable choice.
I've heard of others like Bitcoin Unlimited. My question is, would those nodes running alternative software still have to have that software adhere to the protocol rules of bitcoin in order to be a full node on the network?
Yes, that's what it means to be a full node -- enforcement of all the consensus rules. For example, if you run a BU node and allow larger blocks than Bitcoin's rules allow, you might find your node forked off the Bitcoin network entirely.