The names our German ancestors named their children confused me until I took a beginning class on German Research and learned how the children were named.
Reason for confusion -- a typical family might have 3 sons, all with the first name of Johann: Johann Georg, Johann Michael, and Johann Christoph. And their 3 daughters might have the same first name: Anna Dorothea, Anna Maria, and Anna Elizabetha.
When a child was baptized, two names were usually given. The first name was a spiritual or saint name. The second name was a secular or "call" name. This second "call" name was the name the child was called by or known by to family, friends, and the rest of the world.
So in the example above, the three boys with the first name of Johann would be known, respectively, as Georg, Michael, and Christoph. The three girls with the first name of Anna would be known, respectively, as Dorothea, Maria, and Elizabetha.
Sometimes every child in the family would have a different first or "saint" name but it's not unusual as in the example above, for a family to have had a favorite saint and use that name for every child in the family.
Also, if a family had a child that died as an infant, they often named the next child of the same sex the very same name of the child who died. So if two Johann Michael's were in the same family, the first child by that name most likely died before the birth of the second by the same name.
Johann and Johannes -- If a son's first name was Johann followed by a a second name, then Johann was the saint name and the second name was the call name. Sometimes only the name Johannes is used without the use of a second name. Then the child is called Johannes.