'Stick no bills' sounds awkward.
Shouldn't it be something like 'Do not stick any bills'?
Both are correct English. I am sure that "stick no bills" was chosen because it is shorter and more to the point than "do not stick any bills", which is often done with signage. We also have "no smoking" instead of "do not smoke", and "no turn on red" instead of "do not turn on red", for example.
"Stick no bills" is parallel to "Smoke no cigarettes."
(Please correct me if I am wrong.)
I am very much used to seeing "post no bills" than "stick no bills", but "stick no bills" is also correct because "stick" is a command word.