There are multiple origins and meanings for the name:
1. Arabic name-giving (زين) meaning - "handsome; ornament, paint, grace, trim, trick, plate, hang, prettify, pipe, bedeck, deck, enjoin, dress, smarten, pattern, prink, apparel, gem, varnish, invest, figure", see the name Zayn
2. Form of the given name John - "Lord/God (Jehovah) is merciful"
4. Hebrew (זין) slang name of a penis
May also refer to Zain (feminine name).