Because each one describes a different type's implementation of the monad interface. The blog post is just trying to illustrate:
"all these problems have the same interface. If we have a general solution to a problem, why use a different ad hoc solution for each?"