Which matrices commute with $\operatorname{SO}_n$?

This is a representation theory question: slightly generalized (there's no need to restrict our attention to $GL_n^{+}$), you're asking what the endomorphisms of $\mathbb{R}^n$ as a representation of the Lie group $SO(n)$ (or, equivalently, the Lie algebra $\mathfrak{so}(n)$) are.

This representation is always irreducible, so by Schur's lemma the endomorphisms form a division algebra over $\mathbb{R}$, which by the Frobenius theorem must be $\mathbb{R}, \mathbb{C}$, or $\mathbb{H}$. The latter two cases can't happen if $n$ is odd (because $\mathbb{C}$ and $\mathbb{H}$ only act on $\mathbb{R}^n$ when $n$ is divisible by $2$ or $4$ respectively).

If $n = 2k \ge 4$ is even we can argue as follows: if the endomorphism ring contains $\mathbb{C}$, then $SO(2k)$ must embed into $GL_k(\mathbb{C})$ and hence into the unitary group $U(k)$, by compactness, and similarly on the level of Lie algebras. But this is impossible by a dimension count: $SO(2k)$ has dimension $k(2k-1)$, but $U(k)$ has dimension $k^2$, and for $k \ge 2$ we have $2k-1 > k$. (For $k = 1$ they are equal, reflecting the coincidence $SO(2) = U(1)$.) So the endomorphism ring must be $\mathbb{R}$. Probably a simpler argument is possible here.