Your question is primarily about extending the proof of (a) $\implies$ (c) to sheaves of modules. To do so, it is helpful to first consider the special case of sheaves on $1$, which are just (up to equivalence of categories) ordinary modules. We consider the category of $R$-modules.
The task for (a) $\implies$ (c) in this case is as follows: we must show that if we have $R$-modules $F, G$ and a monomorphism $\phi : F \to G$ in the category of $R$-modules, then $\phi$ is injective.
To prove this, we note that $R$ itself provides a representation of the forgetful functor $R$-mod $\to Set$. In other words, there is a natural bijection $Hom(R, H) \to H$, where $H$ is an $R$-module. The bijection sends $f \in Hom(R, H)$ to $f(1)$. This means that the forgetful functor preserves monomorphisms, as all representable functors do (this is a good exercise - show that all representable functors preserve all limits, and therefore preserve monomorphisms). Thus, $\phi$ is a monomorphism of sets, hence injective.
Rephrasing in the language of sheaves on $1$, we found that the global sections functor $F \mapsto F(1)$ from sheaves of $R$-modules to sets is representable by $R$. So if we want to generalise to sheaves on $X$, we will want to show that the functors $\mathcal{F} \mapsto \mathcal{F}(U)$ are representable for all $U$.
In the general case, we have a sheaf of rings $\mathcal{R}$, and we wish to represent the functor $\mathcal{F} \mapsto \mathcal{F}(U) : $sheaves of $\mathcal{R}$-modules $\to Set$. It turns out that the relevant representing object is given by $C_U = i(D_U)$, where $i : PSh(X) \to Sh(X)$ is the sheafification functor and $D_U$ is defined by
$D(U)(V) = \begin{cases} R(V) & V \subseteq U \\
0 & otherwise \end{cases}$
You considered $D(U)$ as a possibility in your question (it was option 3), but you didn't come up with the insight that you had to sheafify it.
One can get a natural bijection $Hom_{\text{sheaves of } \mathcal{R} \text{-modules}}(C_U, \mathcal{F}) \cong Hom_{\text{presheaves of } \mathcal{R} \text{-modules}}(D_U, \mathcal{F}) \cong \mathcal{F}(U)$. This is enough to complete the proof, and these are the "indicator sheaves" you are looking for. $\square$
If all you care about is finishing your proof, you can stop reading here. However, you may understandably find this a bit frustrating, since it is not entirely obvious where the magic $C_U$ come from. I will attempt to shed some light on the subject.
Another route to the proof in the case of ordinary modules that monomorphisms are injections goes like this. First, note that given any set $S$, we can explicitly construct $\bigoplus\limits_{s \in S} R$, the free $R$-module on $S$ - the construction is functorial in the obvious way. We can show that this free functor is the left adjoint of the forgetful functor $R$-mod $\to Set$. Therefore, the forgetful functor, being a right adjoint, preserves limits and thus preserves monos. A mono in the category of $R$-modules is therefore a mono in the category of sets.
This construction actually works in any topos with natural numbers object. In particular, it works in the topos of sheaves of sets on a space $X$. Given a sheaf of sets $\mathcal{S}$, we can construct the internal free module $\bigoplus\limits_{s \in \mathcal{S}} \mathcal{R}$. If you are familiar with the internal logic of a topos, this can be done in a fairly straightforward way by carrying out the normal set-theoretic construction within the internal logic (but you must be careful to use a purely constructive approach - defining $\bigoplus\limits_{s \in S} R = \{f \in \prod\limits_{s \in S} R \mid \{s \in S \mid f(s) \neq 0\}$ is finite$\}$ will not work unless every open set in $X$ is also closed). From here, we can show that the internal free module functor is the left adjoint to the forgetful functor which takes a sheaf of modules and outputs its sheaf of sets. A monomorphism in the category of sheaves of modules is therefore a monomorphism in the category of sheaves of sets. We then apply the fact that (a) $\implies$ (c) holds for monomorphisms of sheaves of sets to conclude it also holds for monomorphisms of sheaves of modules.
This approach is very general. It applies not only to modules but also to all kinds of purely equational algebraic structures, and it applies not only to sheaves on a space but also to all sorts of other toposes with NNO (and even $\Pi W$ pretoposes). And it sheds some light on how we came up with $C_U$.
Given any open $U \subseteq X$, we have the yoneda sheaf $y(U) \in Sh(X)$, which is defined by
$y(U)(V) = \begin{cases} 1 & V \subseteq U \\ \emptyset & otherwise \end{cases}$
and has the property that, in the category of sheaves of sets, there is a natural isomorphism $Hom(y(U), \mathcal{F}) \to \mathcal{F}(U)$.
Then it turns out that $C_U$ is the sheaf $\bigoplus\limits_{s \in y(U)} \mathcal{R}$. Thus, $Hom_{\text{sheaves of }\mathcal{R} \text{-modules}}(C_U, \mathcal{F}) \cong Hom_{\text{sheaves of sets}}(y(U), \mathcal{F}) \cong F(U)$. So there was actually no "magic" at all needed to come up with $C_U$, merely some intuition about how the internal direct sum works.
Best Answer
The correct way to do this is to begin by considering the equalizer $\mathcal{K}$ of the morphisms $H\to \mathcal{G}$ and $\Bbb Z_U\to \mathcal{G}$ where the first map is the injection and the second map is the map sending $1\mapsto s$. Since $H\to\mathcal{G}$ is injective, $\mathcal{K}$ may be viewed as a subsheaf of $\Bbb Z_U$ and we can use the property in the question statement to get an extension of $\mathcal{K}\to \mathcal{I}$ to a map $\Bbb Z_U\to \mathcal{I}$. Then $\operatorname{Im}(H\oplus\Bbb Z_U\to \mathcal{G})$ is a subsheaf of $\mathcal{G}$ to which $\phi$ extends and which contains both $H$ and the section $s$, contradicting maximality of $H$. So $H$ must actually have been all of $\mathcal{G}$ to start with, implying that our morphism $\phi$ extends the whole way.