Let me bring up some unauthentic book.
The Book of Adam and Eve give a good explanation to this confusion. The first son, Cain was born along with his twin sister Luluwa. The second son, Abel also had a twin sister Aklia. After Cain murdered Abel, Cain married his twin sister Luluwa.
As we know, the Bible rarely mentions the name of women, their is no doubt that those first daughters of Adam and Eve were also not mentioned in the Bible. The writer, probably Moses might have assumed that there is no strong reason to mention the name of the first daughters and even did not think that the readers like us will later come up with this kind of question.
When Cain said "whoever finds me will kill me"
it does not necessarily mean that there are already other people on earth. Remember that those days the lifespan of human was above 900 years and less than 1000 years. Cain simply meant that the people who will born later will want to kill him because he is a murderer. And we know very well that 900 years is enough for a civilization to rise. Although Cain did not know how long he will live, he also did not know when he will die. There was no one yet who saw how a man will die of old age. Cain will surely think that he will at least live for a long time because death by old age was not yet known to them.