Of course they should be fined, because that is littering, just the same as with any other garbage. It is very ugly to see the whole town covered like that (trust me, I live in a country that has absolutely no regulations about that, and at the same time has one of the highest percent of smokers, that is horror) and plus, these are rather difficult to clean and scoop up, as they are small so they easily fall into all kinds of little holes, grills, crevices, get stuck in grass etc.
Cigarette buts are nasty and bad for the environment; they should be disposed of properly. Also, many people toss lit cigarette butts, which is a fire hazard. "Tossed" lit cigarette butts can also hit and harm other humans. Animals, such as dogs and cats, can accidentally eat the butts, which can also be harmful.
Although tossing cigarette butts is harmful to the environment, it is impractical to believe that a fine against this activity can be enforced. Enforcing this law will be difficult logistically and will end up being a drain on resources. The resources being used to enforce this law could be better put towards cleaning up the highways.
People should have the right to toss a cigarette butt anywhere they want. My issues is that cigarette companies should make cigarette butts biodegradable so it would not matter if or where people toss out their cigarettes. Another factor would be proximity to garbages, because if there is no garbage around for 3-4 blocks, a person is not going to hold onto their cigarette butt in the hopes that they will pass a garbage. Personally, I always properly dispose of my cigarettes, but people should have the option to do as they please.