Regarding the display of the variants in the cart, you can style that with CSS. There is a span with a class around the variant text.
Regarding the add to cart button:
Yes, that's indeed the case and it's how it's done. Having options doesn't necessarily means that you can't buy the product without the options... They are options, so they are optional...
If you want to force your users to select the options, remove the add to cart buttons on the listing and he will have to go in the product page to select the options.