I've bought them a hardware stores and at Homers - the going price is in the neighborhood of $2 each. Readily available in brass, but you can find steel ones if you look hard enough. But they are a PITA to use - they are intended for use in face-grain timber, and don't work well in end grain spindles like stopper blanks.
As Jim mentioned, you can drill and tap the bottle stopper blank itself, but because the blank is typically a spindle, you would be tapping end-grain wood. Sometimes that works, but often it doesn't.
My approach is to make threaded wood inserts using face-grain oak or ash (the pronounced face grain pattern of these timbers threads very easily). I start with a scrap of wood, drill 5/16" holes on 1" centers, tap the holes, reinforce the threads with thin CA, and then run the tap through again to clean up the threads. Then, I cut the wood into 1"x1" squares that I mount on my bottle stopper mandrel and turn down to 5/8" plugs using a square-end scraper. I have a go/no-go gauge made by drilling a 5/8" hole in a scrap of wood that makes sizing the plugs simple and quick. I generally make 6-10 of these at a time and save them for when I want to make a stopper.
To use, I simply drill a 5/8" hold in the bottle stopper blank and glue in a plug. This leaves a strong, clean 3/8x16tpi threaded hole in the blank that won't be visible after the stopper is turned and assembled.
And one other point - a threaded hole in the blank serves one, and sometimes two purposes. It most commonly is how the blank is mounted on a mandrel for turning. And if you are using a metal stopper 'works', a threaded stud on the metal base screws into that hole. But what about the situation where you opt to use a stopper works consisting of a tapered dowel with a silicone sleeve? In that case, the threaded hole is used to mount the blank for turning, but the 3/8" dowel that holds the silicone sleeve is too large to fit into that hole. In that case, it is necessary that the hole be reamed out to accommodate the dowel. The amount of material that must be removed is small - in essence, all you have to do is ream out the threading in the hole and that doesn't require a lot of physical effort. My approach is to simply grip an 11/32" twist drill bit in a bench vise, and holding the turning in my hand to avoid damaging the finished product, twist it against the bit.