Setup isn't going to remove settings that no longer exist in the definition file, you would have to do that with a sql script.
Setup also does not create duplicate settings with the same feature guid so you should look in the database make sure the feature instance has the correct feature guid and that there are not more than one copy of your feature definition.