The answer is "no" in general. As Denis suspects, the problem is a global one, and it involves matrices with nontrivial Jordan blocks. These have, in a sense, "fewer" logarithms than the commoners. Concretely, I clain that the holomorphic function $$f(z) = \begin{pmatrix} e^{2\pi i z} & 1 \\ 0 & 1 \end{pmatrix}$$$$f(z) = \begin{pmatrix} e^{2\pi i z} & 1 \\\\ 0 & 1 \end{pmatrix}$$ has no holomorphic logarithm on $\mathbb C$. If it had one, there would also be a holomorphic square root of $f$ on $\mathbb C$, and not even that exists. Indeed, suppose by contradiction that there was a function $g:\mathbb C \to \mathrm{GL}_2(\mathbb C)$ such that $f(z) = g(z)^2$. The matrix $$f(0) = g(0)^2 = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$$$$f(0) = g(0)^2 = \begin{pmatrix} 1 & 1\\\\ 0 & 1 \end{pmatrix} $$ has only two square roots (a 2-by-2 matrix with distinct eigenvalues has four square roots!) differing by a sign, so we may suppose $$g(0) = \begin{pmatrix} 1 & 1/2 \\ 0 & 1 \end{pmatrix}$$$$g(0) = \begin{pmatrix} 1 & 1/2 \\\\ 0 & 1 \end{pmatrix}$$ by changing $g$ to $-g$ if necessary. If we move $z$ on the real line from $0$ to $1$, we find by continuity of $g$ $$g(z) = \begin{pmatrix} e^{\pi i z} & (e^{\pi i z}+1)^{-1} \\ 0 & 1 \end{pmatrix}$$$$g(z) = \begin{pmatrix} e^{\pi i z} & (e^{\pi i z}+1)^{-1} \\\\ 0 & 1 \end{pmatrix}$$ and run into a pole as $z$ approaches $1$, end of story.