What's difference between all of these?
They are called Forks. In Git, developers create Forks of projects so that they can edit them without affecting the main project, the main project is also called the "Upstream" and the forks are called the "Downstream". Creating a Fork also allows you to make a request that your changes be included in the Upstream project, this is called a "Pull Request".
Why do they have the same name?
They have the same name because most developers leave the name the same as the main project. You can actually use any name you desire.
Which is the most advanced? Or the reference?
Typically the Upstream, but not always. The Upstream is listed below the project name whenever you are viewing a downstream fork. Because of the nature of open-source, the original maintainer(s) of the upstream may abandon the project, and a Fork becomes more advanced. Or a Fork could start implementing new features that the upstream does not want in its project for whatever reason.
Not for developers apparently.
Which one is recommendable?
You want to use the NPM version, not the Git versions. Git is a repository, or project database, for developers. NPM is a repository, but unlike Git, it is for release builds for users. Also unlike Git, there is only ever one version of a project name.
Is it possible merge them all to one "ulitmate" plugin?
Technically yes, but that's not the point of using Git. Also, they already are technically the same project. Click on the number next to Fork and you will see how they are linked.
Does anyone has answers?
Fluffle Puff does, but she's not talking.