What you want to do is fairly tricky (and probably frustrating), because you want to restrict the creation of the reports to the Coaches, but you want their reports available to the general public. It complicates matters that you probably want to produce pages of links to Coach's pages and their reports.
This might get you started. It minimizes the use of the permissions system, since only one page is protected in any way.
The tree structure I'd use would look like this (with your own page titles):
Coach Reports
Coach1
Report1
Report2
etc.
Coach2
Report1
Report2
etc.
More coaches here
I don't think any of these pages need to be protected. Create some dummy pages to match the tree above.
Put a Wayfinder or getResources tag on the Coach Reports page to show links to the Coaches and Reports. I think Wayfinder might work better, but you'll have to see. You may also want a similar tag on each Coach's page (or, better, in its template).
At this point, you should be able to navigate through the pages (You'll probably also want a "back to coach page" link and a "back to Reports page" link in the template or page content. I would create one Template that's used just for the individual report pages.
In order to control the Coach's report creation, you need to create a User Setting for each coach called coach_container and set the value to the ID of the coach's container page.
I would create a specific login page just for Coaches. Later, you can protect the NewsPublisher page so only Coaches can access it, but get it working first.
Now create a resource called "New Report" with just a NewsPublisher tag on it. This is your NewsPublisher page.
You'll have to decide what all you want in the NewsPublisher tag, but the key is to set the $parentId to the Coach's container page with &parentId=`[[++coach_container]]` and don't put 'parent' in the &show property. That will force each Coach's reports to be created in their own container.
You could forward each coach to the "New Report" page on login with &loginResourceId=`##` where ## is the ID of the New Report page. That way, each coach could go directly to the Login page, log in, and immediately enter a report.
You can add this tag to the Template for the individual reports to allow Coaches to edit only their own reports:
[[!NpEditThisButton? &ownpagesonly=`1`]]
You could also add a "New Report" link that's just a link to the New Report page.
When it's all working, you can protect the New Report page by adding it to a Resource Group, adding all Coaches to a User Group, and connecting the two with a Resource Group ACL entry. Be sure to add yourself to the Coaches group with a Role of admin Super User *before* creating the ACL entry. You'll want to create a role called "Coach" with an authority level of 15 (or any other number other than0 or 9999) before adding the Coaches to the group. For the ACL entry, use a context of 'web' and a Policy of 'Resource'. See the MODX->MODX Security Permissions section at
http://bobsguides.com.