It depends on how you want to implement your volume control. Often, people use a potentiometer with a knob attached—this gives a smooth continuous volume adjustment. In fact, most radio+alarm clock combos have a "volume on/off switch," which combine a power switch with a potentiometer.
If you're avoiding potentiometers, you can also opt for a rotary encoder. You won't be able to get a continuous adjustment (rather, it'd be discrete; you'd also need to implement the volume control digitally, rather than through analog means), but you'd be able to turn the knob indefinitely. You can also use the same knob for other purposes, depending on what mode your device is in, so your volume knob could also adjust the time of day or alarm time. Depending on the encoder, it can also be more reliable than a pot.
Finally, if you really want a SPST push-button it is certainly possible. You'd need to implement volume control digitally, and the user would press the button once for each step in volume. You'd want to play a sample tone every time it's pressed, so the user knows how loud it is, and when they've exhausted the volume range it'd wrap back down to its initial volume.
So, it's up to you... The choice depends on what cost, reliability, functionality, and user experience you're looking for.
Hope this helps!