I ended up needing to navigate further down the DOM to a parent element that didn't have so much stuff in it. Then, I waited for a button to populate within that specific parent div:
await myPageSection.waitForSelector('button', { timeout: 15000 }).catch(() => {
console.log('No buttons found within pageSections[3] after waiting.');
});
And finally, I ran through all the buttons to find the one I needed. I think classes and innerText were dynamically changing, which is part of the reason why I couldn't target it:
const allButtons = await myPageSection.$$('button')