Is there any way that I can show the custom text fields in Category view as well?
There is a function which gathers the customfields to be shown. Usually a product has two main types of customfields, one type changes the product (variant) the other type just gives information about the product. The browse view should usually show only the customfields which change the product, not the ones which keep the specs. I added some years ago a method to controll this.
Check your sublayout "products.php". There you see around line 126 (of course depends on your override)
<div class="vm3pr-<?php echo $rowsHeight[$row]['customfields'] ?>"> <?php
echo shopFunctionsF::renderVmSubLayout('addtocart',array('product'=>$product,'rowHeights'=>$rowsHeight[$row], 'position' => array('ontop', 'addtocart'))); ?>
</div>
The last "parameter" tells VM which customfields positions to show, the default is 'position' => array('ontop', 'addtocart'), which shows all customfields with position "ontop" and "addtocart". So when you want that your customfield appears in the browseview, be sure to use one of these positions or make an override and add your own position.