How do you make it so the guest can add the names of the guests and ages on the agreement before signing it?
add custom fields that are marked as required on check out form
Here's an article that walks you through: https://www.ownerreservations.com/support/articles/capture-additional-fields-on-checkout-quote-acceptance.
For guest names, you can either create one big text field and make it multiline (or "rich text"), and give an instruction like "Guest Names, one per line". Or you can create separate fields for each guest name you want.
How do I have each guest sign the rental agreement?
You'd need to go to the Legal tab of the Booking, and use the Request button to send it to each guest individually using their email address.