It only updates the log when I press Ctlt in the first terminal with the dd. Is this because of the nature of dd?
Yes. It is in the nature of dd to output its current status when it receives a given signal. Under most OSes, this signal is SIGUSR1, a standard signal but on OS X, it uses for the same a non standard signal named SIGINFO. Moreover, OS X has a tty driver setting that allows to send that specific signal with a key combination, CtrlT, just like CtrlC sends SIGQUIT on all OSes.
I don't know exactly how it writes to devices, but could it be too demanding for the process to take a break and write to the log?
You are precisely asking it to do that with the shortcut. Should you want to have regular automatic updates, nothing forbids you to do a simple shell loop like that one:
while kill -INFO $(pgrep dd); do sleep 5; done
This assumes pgrep is available on OS X. Otherwise, pick the pid of your dd command and use it as kill second argument.