Yes, we have all run into the duplicate name situation. That is why I just love the 1747 marriage of Sebastian and Sophie on my husband's line -- no confusing them! My experience with naming patterns is a little different. The custom from my area was that the first son was named after the grandfather, the second after the father or perhaps an uncle who was older than the father, so then it would be the third son who had the father's name. Not a hard and fast rule, but used often enough.
But in my research to help others, I have seen situations where the second wife had the same name as the first, and was nearly the same age as the first family's children. In one family, the last daughter of the first wife was Frantiska, and 3 years later, the first daughter of the second wife was also Frantiska! I had the wrong one married into the line I was working on with a friend for several weeks, I think. Imagine -- two little girls with the same name in the same household. The older one (my friend's ancestor) got married at 18, but first baby not born for over a year. Do you think maybe she wanted to escape the stepmother?
The only solution is to do exactly as you are -- find all possible records, sort through them. Don't forget, the death records had the age, and while mistakes do happen, Czech math is mostly very good. In fact, what I frequently do is go through the death book first, and list all with the surname I'm researching, because they've got to be connected somehow. Well, I go through the index, not the actual book. I can then compute the possible birth year and watch for that person in the baptismal book.
Regarding Josefa, that would equate to Josephine. It's the folks who got a transcription where masculine Josef became Josefa in the accusative, usually a sibling, not the direct ancestor, and they didn't understand that it really was Josef. So the narrative might read "They had 3 children -- Jan, Josef, and Siegfried" which in Czech would turn out "Jana, Josefa, a Sigfrieda". They translate Jana as Jan correctly, but leave the "a" on the other two.
Good luck. It will be fun to see where you are with this a year from now.