As Jim said, Power Automate and Lists is worth looking at.
1. In Lists (or via Sharepoint), you create a new list, add a column for the name of the document that needs to be uploaded, another column for the person's name, a third column for the due date, and lastly a status column for you to mark it as approved.
2. You then populate the list to say "Soundness Report Oct 2021, Nov 2021, Dec 2021" etc., assign the appropriate person, and add the due date.
3. In Power Automate, you set it to check the list at 9am every day, and it filters the list for all items on the list that haven't been approved, and the due date is less than x days away. Once you have the filtered list of reports, you then tell Power Automate to send each person an email asking them nicely to click on this link to the item in the list, and to attach the document.
4. If you want, you can then add a second Power Automate flow that sends you an email or a MS Teams message whenever someone attaches an item. You can then change the status to approved, and they won't get the nag emails anymore.
Just don't forget to double check the permissions on the List to make sure only the correct people have permission to view the list, and to edit it.
Also you might want to check if your Office 365 tenant has Dataverse for Teams. It has a lot of interesting pre-built solutions:
Sample Teams app built by Power Apps. Contribute to microsoft/teams-powerapps-app-templates development by creating an account on GitHub.
docs.microsoft.com