Summary: Trying to understand why an OP does X or Y can't be answered with certainty, unless we ask that OP (and we might not be able to believe their reply - they might tell us what they think we want to hear, not their actual reasons).
I agree that answers should not be accepted based only based on the reputation of the answer writer. However I think there are a few things going on...
The [first] answer is technically correct and it sufficiently answers the OP's question. But the OP does not accept it.
Something I see quite often is an OP who asks a question, then goes offline for some hours (perhaps they go offline overnight their time, or perhaps they go offline until they get home at the end of the day, their time - things like that).
That means the OP may not see that first answer before others have been added, and so they didn't have a chance to see that only the first one was "enough".
Then, a few minutes (or even hours) later, another member with higher reputation (i.e. higher than that of the member who put the first correct answer) puts exactly the same answer (maybe with only a few unrelated additions just to make their answer a little "different")
I try not to underestimate the value of those additions you mention. Adding extra information / quoting (and linking to) specific sources, or specific experience, can definitely add value.
Also saying the same thing a different way might be be easier to understand for that OP. I know that when teaching classes of engineers, I sometimes had to explain the same thing with different examples & different starting assumptions, due to the wide variation of backgrounds and previous experiences of the engineers in my classes.
and the OP accepts this answer, not the first one. Just because the new answer came from a high-rep member?
I really can't understand the motivation behind this. Maybe the OP wants to be sure about the 1st answer by seeing the same thing (in other words, verification) from a higher-rep member.
Yes, I do think that waiting for verification is a real effect, especially if the person asking is unsure (or unable) to verify on their own, whether the first answer given is correct.
I see something similar in medicine as well. For example: A junior doctor diagnoses that the patient has condition X. Later, the patient sees a consultant (i.e. a more senior doctor) who confirms the diagnosis of X - and perhaps explains more and gives more details, due to them having more experience of patients with condition X. Patients tend to believe the later diagnosis from the (senior) consultant more, even though it is the same diagnosis given earlier by the junior doctor. This is a variation of "getting a second opinion".
Getting back to Stack Exchange: Even if (due to the added info), the later answer has a greater chance of being accepted by an OP, all correct (and therefore useful) answers should be worthy of upvotes, as long as they are not clearly duplicates of each other.
What's the point of upvote/downvote system then?
Remember that really new OPs cannot yet upvote (15 points needed) or downvote (125 points needed).
If an OP isn't sure whether an answer is correct, then it's understandable that they cannot judge enough to vote, even if they do have the required points to be able to do so.
Upvotes / downvotes should be for whether that answer is useful, even if it doesn't include everything needed to completely solve the OP's problem. However for new OPs who cannot yet upvote (or don't understand the difference between upvoting and accepting) I would not be surprised to see useful-but-not-quite-complete answers that have not been upvoted by an OP (because they can't) and not accepted (because the answer may not give them all the info they need, and/or because they don't understand the concept of "accepting").
Personally I would like more people to vote here overall. I know that we all have limited time and different skill-sets & things we want to do - some people do more reviews, others do more editing, and yet others do more answering (all of which we need and thank you to all the active site members here!).
However while doing all those things, it would help if site members also considered voting. For example, we have some active members who rarely vote. Please don't judge only at your expertise level; consider what would be useful for others, who don't know everything that you do.
Finally: Here is a (long but useful) Meta.SE topic which suggests criteria for voting on Q and A:
When should I vote?
While I don't agree with every single point in that topic, I think that it's a good starting point especially for people who are unsure what to consider when voting.
If the answer is technically wrong or needs some additions/corrections then the comment section can be used for that purpose.
Agreed. Unfortunately some OPs don't use comments to request clarification (I have learned that there can be a cultural element to this behaviour, as I have experienced junior engineers who just said "yes" when I told them something. Only later did I discover that they hadn't understood me, but they eventually explained that in their culture, it would have been rude for them to question what someone as senior as me had said). So there might be an element of "conflict avoidance" by those who don't raise points in comments.
Due to the differences between comments and answers on Stack Exchange, I also think that new OPs in particular (but also some longer-term site members) do not fully understand some of the details about the correct use of comments. For them, this is a useful Meta.SE topic: How do comments work?
I don't have a fix for what you describe, partly because we don't know the reason(s) why some OPs behave like that. I have explained my guesses. Overall, I am not surprised that a (perhaps shorter) first answer from a lower-rep site member, isn't trusted as much (especially by an OP who doesn't know enough to quickly judge a correct answer) as a later (perhaps longer) answer from a higher-rep user, especially if that later answer explains why it is correct.