The wg-quick command is a bash script. The loop reading keys (such as the PostUp key) is using read -r which prevents any use of \
to separate lines. But reading this same script shows:
POST_UP=( )
to declare it as an array, and:
PostUp) POST_UP+=( "$value" ); continue ;;
to add an element to the array.
It's then executed later with (there's an eval command in the function execute_hooks):
execute_hooks "${POST_UP[@]}"
Thus one can split multiple commands (but not arbitrary lines) by using multiple times the same key entry. So OP's example would work like this:
PostUp = iptables -A FORWARD -i %i -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Actually the man page already tells it:
• PreUp, PostUp, PreDown, PostDown — script snippets which will be
executed by bash(1) before/after setting up/tearing down the
interface, most commonly used to configure custom DNS options or
firewall rules. The special string `%i' is expanded to INTERFACE.
Each one may be specified multiple times, in which case the commands are executed in order.