Well, if you are sure that you did everything right, then, as the only conclusion, something must be broken.
In my experience, this is rarely the case, so you may want to check your setup again.
You may also want to have a look at the datasheet: https://cdn-shop.adafruit.com/datasheets/MCP3008.pdf
Anyway, a good start to analyze your problem is to trace the signals with a logic analyzer (which are less than 10 bucks).
Im sure you will get help here if you provide more information as pictures, actual measurements or traces of the logic analyzer.
BTW: Analog inputs that are not connected may return random values. However, in my experience, they won't toggle between 0V and 3.3V as you describe.