1) For each form element you add to the checkout page, you need to add a corresponding hiden element of the same name to the confirm page to capture the value posted from the checkout page.
on the confirm page, find the following code:
<input type="hidden" name="firstname" id="firstname" value="<?php echo ((isset($_SESSION["eCartCheckoutForm_firstname"]))?$_SESSION["eCartCheckoutForm_firstname"]:"") ?>" />
and change it to:
<input type="hidden" name="OrderCompanyName" id="OrderCompanyName" value="<?php echo ((isset($_POST["OrderCompanyName"]))?$_POST["OrderCompanyName"]:"") ?>" />
<input type="hidden" name="UserCompanyName" id="UserCompanyName" value="<?php echo ((isset($_POST["UserCompanyName"]))?$_POST["UserCompanyName"]:"") ?>" />
<input type="hidden" name="firstname" id="firstname" value="<?php echo ((isset($_SESSION["eCartCheckoutForm_firstname"]))?$_SESSION["eCartCheckoutForm_firstname"]:"") ?>" />
2) on the confirm page, you only have for the UserCompanyName, you need to add one for the OrderCompanyName as well.
3) The store order summary behavior has been moved to line 1, it should not be there, it should be just before the store order details behavior that is currently at line 552. by moving it to line 1, you will cause errors due to the connection file include being after it.
4) In the store order summary behavior, you have bound company name column to the eCartCheckoutForm_OrderCompanyName session variable, see number 2, there is no code on the confirm page to set this session variable.