I solved the color issue with:
(with-eval-after-load 'magit
(setq magit-git-environment
(append magit-git-environment
(list "OVERCOMMIT_COLOR=0"))))
This sets the OVERCOMMIT_COLOR
env variable when running the git command, which instructs Overcommit to not format with color codes that magit-process doesn't understand.