No, either word would be fine in any of those examples.
However, in all three of those examples, I'm understanding there to be an implied 'types' at the end:
- The restaurant offers a range of food types.
- The store sells a variety of furniture types.
- The dog exhibits a range of behavior types.
This is not the only way to make those sentences look nicer and more formal. There are other words that could be added instead: "a range of furniture options". Pluralizing the words could also help: "a variety of foods". In this case, each 'food' would be a different food type.
Note that 'range' weakly implies some sort of continuum, meaning that the things being considered could be put into some kind of order. You could have a range of prices, or a range of colors. It can be used on things where this is less natural and obvious, like food types, but might not be the best choice.
'Variety', on the other hand, is just a bunch of different things. There doesn't need to be any kind of ordering. If there is an obvious ordering, like with prices, it would probably be better to use 'range'. So, for your three examples:
- The restaurant offers a variety of food.
- The store sells a variety of furniture.
- The dog exhibits a range of behavior.
I prefer 'range' for behavior. For a dog, I would expect the behavior to range from friendly to hostile. I wouldn't bat an eye at 'variety' instead.