We do this all the time. I'm using column in the Contact List to aggregate the number of attempts. Using a pre-call rule to increment it.
Setup the campaign to transfer a voicemail to a outbound call flow. In that call flow test for the attempts column = ?? if it's true, play the VM otherwise disconnect the call.
------------------------------
Chris Martin
Genesys Cloud Analyst
------------------------------