I was having issues too, but I found a reference to this bug (? feature? not sure): https://powerusers.microsoft.com/t5/Building-Power-Apps/ForAll-on-Nested-Gallery/td-p/204900
I put a label in my Parent Gallery counting all the checked boxes in my nested gallery, and it seems to 'force' PowerApps to recognise the nested AllItems.
Anyways, this is what I got working:
galParentAttendance Data source:
SortByColumns(
AddColumns(
People,
"Dates",
With(
{
StartDate:Date(Year(Now()), drpMonths_2.Selected.MonthNumber, 1),
DaysInMonth: Sequence(Day(Date(Year(Now()), drpMonths_2.Selected.MonthNumber + 1, 0)))
},
AddColumns(
DaysInMonth,
"Date",
DateAdd(StartDate, Value - 1, Days)
)
)
),
"Title"
)
galNestedAttendance Data source:
SortByColumns(
ThisItem.Dates,
"Date"
)
Label to force the nested gallery .AllItems to work Text:
"Attended count: " & CountIf(galNestedAttendance.AllItems, chkAttended_1.Value = true)
Submit button OnSelect:
ForAll(
galParentAttendance.AllItems As NewAttended,
ForAll(
NewAttended.galNestedAttendance.AllItems As NestedAttendance,
Patch(
Attendance,
Defaults(Attendance),
{
Title: NewAttended.Title,
Date: NestedAttendance.Date,
Attended: NestedAttendance.chkAttended_1.Value
}
)
)
)
Two loops to patch all records.

Let me know if this helps you figure out your own implementation?