This is the result of my research:
The family name "Sons" is indeed German. It has developed idependently
from two different roots.
First, it is a name referring to a location. "Sons" (also spelled
Söhns, Zo(o)ns and Zun(t)z) means "he who comes from Zons". Zons is a
German town in the Rhineland, in Neuss County.
Second, it is a family name derived from a kinship term, "Sohn"
(German for son). There are numerous German family names derived from
"Sohn", and among those is "Sons" (also spelled Sohns), based on the
genitive form of the word.
I hope that this answers your question!
Heintze / Cascobri: Die deutschen Familiennamen (p. 449 and 450).
Published by Georg Olms, Hildesheim, 1967
Max Gottschald: Deutsche Namenskunde (p. 544). Published by Walter de
Gruyter & Co., Berlin, 1971