Do you need sats to send a bitcoin signed message? Or is the only requirement that both parties involved are using the same version of the same software?
No you do not need sats to send a Bitcoin signed message, but a Bitcoin signed message is not meant for communication, but for verification that someone is in ownership of a particular private key. Signed messages are not part of the blockchain, you have to send the message, address and signature to the other party and they verify it to be genuine.
If you want to include a text (OP_RETURN) to a transaction which will be added to the blockchain and be immutable, you'll pay fees like with all transactions.