What's wrong with my understanding of the Freyd-Mitchell Embedding Theorem?

You don't show that $\mathcal{L}^{op}$ actually is a category of modules, just that any small subcategory of it fully and exactly embeds in one. Indeed, an abelian category with a projective generator is not usually equivalent to a category of modules: it only is if the projective generator is compact (and the category is cocomplete). In the case of $\mathcal{L}^{op}$, there is no reason to expect the projective generator to be compact.

Note that in general, a projective generator doesn't even necessarily give a full embedding into a category of modules, let alone one that is essentially surjective on objects. However, if you have a projective generator $P$ that can actually surject onto every object, then $\operatorname{Hom}(P,-)$ does give a fully faithful exact embedding into $R\text{-Mod}$ where $R=\operatorname{End}(P)$ (but then it won't be essentially surjective on objects, since if such a $P$ exists your category won't be cocomplete). Such a $P$ will exist for any small subcategory of $\mathcal{L}^{op}$ (just take a direct sum of enough copies of your projective generator), and in particular for the image of $\mathcal{A}$.

Here's a simple example where a projective generator does not give a full embedding (a special case of Jeremy Rickard's suggestion in the comments). Let $k$ be a field and consider $k$ as an object of $k\text{-Mod}^{op}$. Then $k$ is a projective generator, and the embedding it gives is just the duality functor $k\text{-Mod}^{op}\to k\text{-Mod}$. This is not full: if $V$ and $W$ are infinite-dimensional vector spaces, then not every linear map $W^*\to V^*$ is the dual of a linear map $V\to W$.

Here is a different sort of example that I think is also instructive. Take the category of countable abelian groups, and by Lowenheim-Skolem take a countable subcategory $\mathcal{C}$ that is an elementary substructure (over the language of categories) and contains the objects $\mathbb{Z}$, $\bigoplus_\mathbb{N}\mathbb{Z}$, and all homomorphisms $\mathbb{Z}\to\bigoplus_\mathbb{N}\mathbb{Z}$. Then $\mathbb{Z}$ will still be a projective generator for $\mathcal{C}$, and so it gives a faithful exact embedding $\mathcal{C}\to\mathcal{Ab}$ which sends $\bigoplus_\mathbb{N}\mathbb{Z}$ to $\operatorname{Hom}_{\mathcal{C}}(\mathbb{Z},\bigoplus_\mathbb{N}\mathbb{Z})=\bigoplus_\mathbb{N}\mathbb{Z}$. But the inclusion is not full, since $\mathcal{C}$ is countable and hence $\operatorname{Hom}_{\mathcal{C}}(\bigoplus_\mathbb{N}\mathbb{Z},\bigoplus_\mathbb{N}\mathbb{Z})$ is countable, but $\operatorname{Hom}_{\mathcal{Ab}}(\bigoplus_\mathbb{N}\mathbb{Z},\bigoplus_\mathbb{N}\mathbb{Z})$ is uncountable.


I just wanted to outline a proof of the Freyd-Mitchell embedding theorem that even I can understand.

Proposition 1. If $\mathcal{A}$ is an abelian category, then $\mathrm{Ind}(\mathcal{A})$ is abelian, and the inclusion $\mathcal{A} \to \mathrm{Ind}(\mathcal{A})$ is fully faithful, exact, takes values in compact objects, and preserves generators and projective objects.

Proof. The fully faithfulness, exactness, and compactness are standard (true for any category $\mathcal{A}$ whatsoever). For abelianness, see here. The preservation of generators is not hard to see using the "quotient of a coproduct" characterization of generators in a category with coproducts. The preservation of projective objects follows from the fact that every epimorphism in $\mathrm{Ind}(\mathcal{A})$ is the cokernel of a levelwise map of filtered colimits of objects of $\mathcal{A}$.

Proposition 2. Any locally finitely presentable category $\mathcal{C}$ contains an injective cogenerator $I$.

Proof. By the small object argument, it's easy to construct an object $I$ which is injective with respect to monomorphisms between small objects. Then an induction on the rank of objects, similar to the one here, shows that $I$ is actually injective with respect to all monomorphisms. In the abelian case, this is also an old theorem of Grothendieck.

Proposition 3. A cocomplete abelian category $\mathcal{A}$ with a compact projective generator $P$ is equivalent to the category of $\mathrm{End}(P)$-modules.

Proof. The functor $\mathcal{A}(P,-): \mathcal{A} \to \mathrm{End}(P)\mathrm{-Mod}$ preserves all colimits and is fully faithful on the object $P$. One shows that the subcategory of $\mathcal{A}$ on which the functor is fully faithful is closed under colimits, so is all of $\mathcal{A}$. So this functor embeds $\mathcal{A}$ as a full subcategory of $\mathrm{End}(P)\mathrm{-Mod}$ closed under colimits and containing $\mathrm{End}(P)$, which thus is all of $\mathrm{End}(P)\mathrm{-Mod}$.

Theorem. If $\mathcal{A}$ is a small abelian category, then there is a fully faithful, exact embedding of $\mathcal{A}$ into a category of modules over a ring.

Proof. First embed $\mathcal{A}$ into $\mathrm{Pro}(\mathcal{A}) = \mathrm{Ind}(\mathcal{A}^\mathrm{op})^\mathrm{op}$; by Proposition 1 this category is abelian and the embedding is fully faithful and exact. It is also the opposite of the locally (finitely) presentable category $\mathrm{Ind}(\mathcal{A}^\mathrm{op})$, so it contains an projective generator $P$ by Proposition 2. Let $\mathcal{B} \subset \mathrm{Pro}(\mathcal{A})$ be closure of $\mathcal{A} \cup \{P\}$ under finite limits and colimits; this is a full abelian subcategory, and the inclusion $\mathcal{A} \to \mathcal{B}$ is fully faithful and exact. By Proposition 1, so is the inclusion $\mathcal{B} \to \mathrm{Ind}(\mathcal{B})$, and moreover, $P$ is a compact projective generator in $\mathrm{Ind}(\mathcal{B})$. So by Proposition 3, the emedding $\mathcal{A} \to \mathrm{Ind}(\mathcal{B})$ is the desired embedding.