This is unfortunately a bit complex these days. SharePoint used to have a "save site as template" feature, where we could configure a site how we wanted, including lists, custom fields, etc., and even documents and list items. It was one mouse click to create the template, and then we could just specify we wanted to use the template when creating any new subsite. This is still available in SharePoint online,but it only works with classic, non-publishing sites, where the user script feature is enabled. Assuming you're working with new "modern" sites, we have "site designs" instead.
The end result of a site design is quite nice: a user clicks to create a new site, they select which site design (or template) they want to use from a drop-down, and the site gets created with all the lists, libraries, custom fields, etc., that you want. Getting there is...not so nice. you need to create a json file that has all the additional pieces you want, like the lists and fields. Again, the end result is good, but it takes somewhat of a developer skill set to get it operational. The docs for this are here.
Other options include powershell, especially with the PNP PowerShell libraries, as well as 3rd party tools.