How to display custom fields 2 fields in row, instead of new line for each field
This is an argument in favor of using a tool like Webform-CiviCRM integration (on Drupal) or Caldera Form CiviCRM integration (on WordPress).  The CMS-based form builder has additional layout flexibility, and both allow you to place fields side-by-side.

If you don't want to use those tools, you can use CSS rules to place the fields side-by-side.