I have some Door/window sensors, powered by a cr2032 coin battery and I was able to run them for 1 year. The sketch above it seems ok, but the secret it's not only the software, it depends on hardware too:
- remove voltage regulator and led from the arduino
- choose a ceramic decoupling capacitor for your radio module, and avoid electrolytic capacitors (they have a bigger leakage current)
- I don't use any step-up converter, and use the battery to power both the radio module and arduino (reported both to work at 3V)
- a capacitor (again ceramic) of 100uF across the cell’s terminals could sustain a peak current load.
It's also better to avoid messages sending in a short time, and put some sleep in the middle, but I don't see that situation in the sketch.