A short coat is called a jacket for the same reason that Jack is used generically to mean any male stranger, “hit the road, Jack”.
It was the French who began using Jacques this way as a reference to any common or unsophisticated male.
The word took on the meaning of a peasant or ordinary man’s outerwear in France and spread throughout Europe, arriving in England as jacket during the thirteenth century.
As a nickname for John, Jack is used as an endearment like “buddy” or “mate” and has been since the days of Middle English.
During this same time, Dicken became popular as the original nickname for Richard until it evolved into Dick, while Robin was an endearment for Robert before it became Rob.