I guess this answer won't be popular, but my strong suggestion is that you rethink student evaluation from the start. Exams aren't the only way that you can assess student learning and they are a poor way, in any case, to assess real competence in a field like CS. Add in all of the ways to creatively cheat on online exams and it quickly becomes a near impossible task to validate results.
Some ideas, but I don't have a comprehensive list:
Assess in smaller units more frequently so that "high risk" isn't a factor.
Make the grading scheme somewhat forgiving, so that a few bad answers don't have a large effect on grades.
Take "time to finish" out of the equation as much as possible to account for technical glitches.
Lessen the importance of "question - answer" grading in favor of things like projects that require deeper and more comprehensive knowledge.
Use questions that don't have trivial answers than can be quickly looked up. Likewise don't reuse questions that might have archived answers.
Lessen the importance of "individual work" at least somewhat. Effective teamwork is an important skill in many fields, including CS.
For some students it may be necessary to provide a communication channel to clear up misunderstandings. But make it global. Everyone should see every question and its answer.
For some student issues it may be necessary to talk to professionals skilled in the various communication difficulties that arise (dyslexia...).