The fact that they are so complicated is what befuddled me to begin with.
Seriously, the only software needed is whatever it takes to scan a ballot, recognize the persons voted for, and then calculate the totals with the ability to format the totals in a usable form and print it out.
To go beyond this, such as connection to a computer, would enable hacking and manipulation.
I remember taking bubble tests once a year in school in the 70s. They had some sort of machine that would tally them even back then.
Any computerized voting machine should be simple and open source so that everyone can read the source code. It should also be done in a programming language that does not require compiling.
A sophomore in HS could write a 10 line vote counting program in Basic.
You can add a few logic lines to add nothing,
You could further divide the totals per precinct further subdivided into numbered ballot boxes that have clear chain of custody.
Or you could do it by hand in which case advanced five year olds could do it.