Can I run two different tezos-node daemons (node, endorser, baker, accuser) on the same server (same IP), having two different baking addresses for each daemon group, without the risk of double-baking?
Yes, absolutely. But you only need to run one node and accuser. Double-baking is only a risk if you run two bakers/endorsers for the same address.
To bake+endorse for two different addresses, just run two instances of baker and endorser. Something like this:
./tezos-baker-003-PsddFKi3 run with local node ~/.tezos-node baking_address1
./tezos-baker-003-PsddFKi3 run with local node ~/.tezos-node baking_address2
./tezos-endorser-003-PsddFKi3 run baking_address1
./tezos-endorser-003-PsddFKi3 run baking_address2
Above processes can be run with screen, systemd or what ever else you prefer. A good resource for systemd scripts is Tom Knudsens tezos-baking github.