It's possible that the Bonus Unit stepper isn't working properly. With the game unplugged you can test it by pushing in either solenoid plunger all the way. Then release the plunger and let the springs move the wiper disk. It should step cleanly from one position to the next in both directions across its entire range without any hesitation or sluggishness. At any position all four wiper fingers should land directly over a contact on the wiper board, not off center or between two contacts. The wiper fingers should also have enough tension to remain firmly in contact with the contact board.
After that check the switches on the Bonus Unit. In particular there is a zero position switch on the unit (red-black wire to black wire) that should open when the Unit is in the zero position as shown in the manual. The switch will be on the opposite side from the wiper fingers.
Once you've checked the Bonus Unit pay attention to what the Bonus relay does. It should fire when the Spin Unit selects it and it should stay active until the Bonus Unit reaches its zero position and the Zero Position switch (in red) opens. When the Bonus Unit reaches zero the Bonus relay should relax, which in turn will open a switch and cut power to the Eject relay by opening a normally closed switch (in red). Soon after, because the Bonus Unit is in the zero position, the Score Motor 6A switch (in red) will fire both the Bonus Unit SU (step up) solenoid to take the bonus back to 1000, and the two Eject coils.
It sounds like your Bonus relay isn't relaxing reliably when the Bonus Unit reaches zero so understanding what it does will be helpful.