Custom product fields are used to add information to products from the back end to be displayed on the front end. Not as fields the user can select on the front end.
These fields are added to the product table for which you have one product information per product and it's the same for everyone. Thus, it's only changeable by the vendor.
What you're talking about will be accomplished by other custom fields that we want to add in the future. Those custom fields will be added to the tables cart_product and order_product so that the value entered by the user will be bound to the products in his cart and later to the products in his order.