Multisig synchronization I understand what the multisig wallets are but I need help understanding what exactly this script does:
https://gist.github.com/gavinandresen/3882537
If I understand correctly, bitcoinds are bitcoin daemons but I'm not sure what daemons should be used in this script and how it all works.
I'm not sure what daemons should be used in this script and ...

You first run two bitcoind daemons locally and then specify their ports as arguments to the command along with other information such as authentication credentials:
# Example usage:
#  multisigsync.py \
   --connect1=http://abc:123@127.0.0.1:9000 \
   --connect2=http://abc:123@127.0.0.1:9001 \
   2MsrtHjVXGdT7RuTEiUWzec87Cik1rPpmyD

In this example one bitcoind has been configured to listen on port 9000 the other is listening on port 9001
It looks like this should also work with remote bitcoind instances.


... how it all works.

It isn't clear what part you want help with.
The ServiceProxy stuff seems to be described at https://www.jsonrpc.org/archive_json-rpc.org/python-json-rpc.html