Why does this have to be masculine?
Because indefinite groups like nobody, everybody, etc. are masculine.
Are all forms acceptable here, as in Lernt, Lernst, Lerne, Lernen, ect?
What exactly do you mean? It must be 'Keiner lernt', since the word 'keiner' is third person singular masculine and the corresponding verb is 'lernt'.
I thought masculine nominative is Kein (line ein, mein etc)
Not sure, but it may have something to do with "Keiner" in this sentence is acting as a pronoun.
Yep, when used as a pronoun it follows the same rules as dieser/diese/dieses in that it follows the gender of the noun. In cases where there is no noun, such as everyone, no one, someone etc., you use the masculine version, in this case Keiner