I also mount mine on the seatpost, but I use clear packing tape and creative use of scissors. It takes a while but it's part of my pre-race ritual along with pinning my jersey, the night before.
You just tape the bottom edge of the number together, then cut the front edge so the angle is the inverse of the seatpost angle (to make the number horizontal to the ground). Taping to the seatpost is the tricky part.
Just use a couple lengths of tape on either side. Tape one side first then carefully apply to the opposite side, rolling the tape from the number to the seatpost so that you make sure the tape touches both the edge of the number and the seatpost. Add a couple more layers of tape if the number is too "floppy" and you're all set!
On my frame I don't have much seatpost available so I have to do some custom fitting. If you have more post it's easier.
See attachment for the end result