exec by exiting after it executes the builtin command. So exec echo whatever is just a shorter way of writing echo whatever; exit.

Ok, that's clear.  Polite of zsh to be consistent there.  If one types 'exec' then one wants exec to do what it does, so treat all commands the same.