I’m trying to understand what a free functor is. In particular the free functor that is supposed to bring a set into the free monoid generated by it.
$F_X : \underline{Set} \to \underline{Mon}$
I understand that the “on object” part of the functor brings a set into the monoid like the following:
$F_X(X) = (\operatorname{List}(X), [], +)$
Where the right object is a monoid with the set of all possible lists composed by elements in $X$, the empty list as a neutral element, and a concatenation on lists as a operation.
It would seem to me that the “on morphism” part just turns a traditional function $f:X\to Y$ into monoid homomorphism in which the $\operatorname{List}(X)$ goes to a $\operatorname{List}(Y)$ in which you have all possible lists with the elements of the codomain of $f$.
If that’s the case in what sense is this functor free? It looks to me like a regular functor that just happens to point to a free object.
The free functor is the left adjoint to the forgetful functor. It is more then just a functor that sends an object to a free object.
So additional universal condition has to hold. In your case it can be stated as follows: if $G:Mon\to Set$ is the forgetful functor, $X\in Set$, $M\in Mon$ and $g:X\to G(M)$ is a function in $Set$ then it can be uniquely extended to a morphism $\overline{g}:F(X)\to M$.
It's analogous to how linear functions are fully determined by values on a linear base.
Also see wikpedia.