The audio is played asynchronously and is probably longer than the 0.5s delay you used, so this results in a silent failure when it is triggered again. Do what Adios Gringo said, use
play_obj.wait_done()
or increase the 0.5s delay to more.