I have added four different attributes that the user should be able to filter by in the category page, namely size, brand, color and style. All of these attributes are shown correctly on the category page, however they are also all required to be selected in the product page. I only want the user to specify the size when adding the product to the cart and not the 3 other attributes. How do I remove the other attributes from the product page?
Firstly you can make the 3 attributes (other than size) not required by going to Sales->Attributes->Manage Attributes choose no for
Values Required field. Save and you might need to run reindexing to apply changes.
Re your other part of the question, customer will need to select color or style etc. I would imagine. If for some reason you don't want them to select anything other than color then you can either select default values under Manage Label/Options which will mean they don't need to select anything on product details page other than size or you can hide them through css (easy fix or you can make changes to template pages to filter attributes so only required attributes are visible on product details page which requires some programming).