For real-analytic manifolds, coherence always holds. The 1-sentence reason is that one can pass to real and imaginary parts on Oka's coherence theorem in several complex variables. The failure of coherence in the real-analytic setting has to do with the lack of a real counterpart to the "analytic Nullstellensatz" of Oka: for a complex-analytic set -- closed set $X$ in open subset $V$ of $\mathbf{C}^n$ that is locally the zero locus of finitely many holomorphic functions) -- the ideal sheaf of sections of $O_V$ vanishing on $X$ is *always coherent*. But this fails in the real-analytic case, and is what gives rise to real-analytic sets -- closed sets $Z$ in an open subset $U$ of $\mathbf{R}^n$ that is locally the zero locus of finitely many real-analytic functions -- which are non-coherent in the sense that the ideal sheaf of sections of $O_U$ vanishing on $Z$ is not locally finitely generated. An explicit example of the latter is given near the start of https://arxiv.org/pdf/math/0612829.pdf. To be more detailed about the coherence of the structure sheaf of a real-analytic manifold, the question is of local nature, and so only depends on the (local) dimension; i.e., for manifolds of (pure) dimension $n$ it is equivalent to asking if the sheaf $O_U$ of real-analytic functions on every small open ball $U$ around the origin in $\mathbf{R}^n$ is coherent. By definition, this coherence amounts to local finite generation for the kernel of any $O_U$-linear map $\varphi:O_U^{\oplus N} \rightarrow O_U$ for any small $U$. This map locally "extends" over an open in $\mathbf{C}^n$; i.e., by working locally on $U$ we can arrange that that exists an open $V \subset \mathbf{C}^n$ satisfying $V \cap \mathbf{R}^n = U$ and holomorphic $F_1, \dots, F_N$ on $V$ whose restriction to $U$ recovers the $N$ components $f_1, \dots, f_N$ of $\varphi$. By Oka's theorem, the resulting map $\Phi: O_V^{\oplus N} \rightarrow O_V$ extending $\varphi$ has kernel that is locally finitely generated. Working locally on $V$, we can thereby arrange that there exist $s_1, \dots, s_r \in O(V)^{\oplus N}$ generating $\ker \Phi$. We claim that the real and imaginary parts of the restrictions to $U$ of these $N$-tuples belong to $\ker \varphi$ and generate it. Our problem is local on $V$ near $U$, so for generation we can focus on $(g_1,\dots,g_N) \in (\ker \varphi)(V)$. By working locally on $V$ around a point in $U$ we can arrange that $V$ is connected and that each $g_j$ extends (necessarily uniquely) to a holomorphic $G_j$ on $V$. Then $\sum G_j F_j \in O(V)$ has restriction to $U$ equal to $\sum g_j f_j = \varphi(g_1,\dots,g_N)=0$, so $\Phi(G_1,\dots,G_N)=\sum G_j F_j = 0$ by connectedness of $V$ and analyticity considerations. Thus, working locally on $V$ some more we can arrange that $(G_1,\dots,G_N) = \sum_{k=1}^r a_k s_k$ for some $a_{1}, \dots, a_{r} \in O(V)$, so restricting to $U$ gives $$(g_1,\dots,g_N) = \sum_{k=1}^r a_{k}|_U \cdot s_k|_U.$$ Each function $g_j$ is $\mathbf{R}$-valued, whereas $a_{k}|_U$ and the $N$ components of $s_k|_U$ are $\mathbf{C}$-valued, and the real and imaginary parts of these various $\mathbf{C}$-valued functions on real-analytic on $U$. Thus, $$(g_1,\dots,g_N) = \sum_{k=1}^r ({\rm{Re}}(a_{k}|_U){\rm{Re}}(s_k|_U) - {\rm{Im}}(a_{jk}|_U) {\rm{Im}}(s_k|_U)).$$ Finally, the condition $s_k \in (\ker \Phi)(V) \subset O(V)^{\oplus N}$ says that the $N$ components $s_{k1},\dots,s_{kN} \in O(V)$ satisfy $\sum F_j s_{kj} = 0$, so $\sum f_j \cdot s_{kj}|_U = 0$ as $\mathbf{C}$-valued functions on $U$. But each $f_j$ is $\mathbf{R}$-valued, so $\sum f_j {\rm{Re}}(s_{kj}|_U)$ and $\sum f_j {\rm{Im}}(s_{kj}|_U)$ both vanish on $U$; i.e., ${\rm{Re}}(s_k|_U)$ and ${\rm{Im}}(s_k|_U)$ belong to $(\ker \varphi)(U)$. Thus, ${\rm{Re}}(s_1|_U), \dots, {\rm{Re}}(s_r|_U), {\rm{Im}}(s_1|_U), \dots, {\rm{Im}}(s_r|_U)$ generate $\ker \varphi$ over the (now shrunken) $U$. This shows that in the initial setup (before we began shrinking $U$) the kernel of $\varphi$ is locally finitely generated.