can the progress made be used so that I don't always have to start the search from the beginning?
Yes.
You removed Xoshiro256plus why ?

Because the Mersenne Twister performed better on smaller puzzles. Specifically, I tested it on puzzle 40.
================= WORK IN PROGRESS =================
Puzzle/Bits : 40
Target Hash160: 95a156cd21b4a69...6864f4c8b82a82a
Prefix length : 9 bytes
Mode : Random
CPU Threads : 12
Mkeys/s : 35.95
Total Checked : 118821993408
Elapsed Time : 00:55:05
Start Range : 8000000000
End Range : ffffffffff
Progress : N/A
Progress Save : 5
Stride : 1
================== FOUND MATCH! ====================
Private Key : 000000000000000000000000000000000000000000000000000000E9AE4933D6
Public Key : 03A2EFA402FD5268400C77C20E574BA86409EDEDEE7C4020E4B9F0EDBEE53DE0D4
Total Checked : 118875620444
Elapsed Time : 00:55:06
Speed : 35.9366 Mkeys/s
Try to solve puzzle 40 in Python using random mode in less than an hour.

================= WORK IN PROGRESS =================
Puzzle/Bits : 40
Target Hash160: 95a156cd21b4a69...6864f4c8b82a82a
Prefix length : 10 bytes
Mode : Random
CPU Threads : 80
Mkeys/s : 131.21
Total Checked : 1312160832
Elapsed Time : 00:00:10
Start Range : 8000000000
End Range : ffffffffff
Progress : N/A
Progress Save : 0
Stride : 1
================== FOUND MATCH! ====================
Private Key : 000000000000000000000000000000000000000000000000000000E9AE4933D6
Public Key : 03A2EFA402FD5268400C77C20E574BA86409EDEDEE7C4020E4B9F0EDBEE53DE0D4
Total Checked : 1627205328
Elapsed Time : 00:00:12
12 seconds