It is already written in Python, which is free and can be run on just about anything. That does not appear to be the problem anyway.
Why would it be worthwhile to recode the software?
That would be a waste of time and a step in the wrong direction, and would accomplish nothing in this case.
I don't know why there was trouble installing Python (if in fact there was), it is a simple install on any windows system, or most any system for that matter. There are a couple of other things going on here.
The difficulty with the three speed switch has nothing to do with Python. That's the design of the controller hardware and the speed switch interfering with programming. Java would be no different, the switch interferes with the programming regardless.
Or the problem with drivers for the serial cable. Again, that's not Python's problem and would be no different with Java. That's part of the war between manufacturers and cloners of the USB serial chip hardware. Python will use whatever driver you provide, but the driver and the hardware need to work. The sellers of the programming cables should provide drivers and instructions to follow, unfortunately the default drivers that windows loads were poisoned by the chip manufacturer to interfere with the cloned chips and this has hurt everyone with nasty driver compatibility problems. If anything we should blame them for unleashing code that was designed to interfere with proper driver operation. That was deliberate on their part. It was even worse, initially they actually prevented the correct drivers from ever installing or working, but they backed off on that, but they still left it in a state that is very disruptive to the user. Also, blame the cloners for stealing IP and copying chips.