1. We want our users to acknowledge that they have read a page and then keep a record of that acknowledgement. It would be preferable if the users didn't have the ability to unacknowledge a page once acknowledged. In reflection it is unlikely that a user would unacknowledge that they read a page so this is only a "nice to have" feature. (I can understand why the unapprove function should exist, circumstances might change so that an approver might want to unapprove a page. But if the acknowledgement is to ack that someone has seen or read a page, why would you un-ack that?)
2. We want to have your typical approval process plus have individual users acknowledge that they have read the page just as your macro would seemingly do. We'd like to be able to extend this so that when a user visits a page, they can quickly see if they have acknowledged the page or not. Your macro will show the list of all those that have acknowledged the page, this could be up to 1,000 entries so we need to be able to only show the acknowledgement of the current user. I'm not sure your suggestion regarding approval groups would do us any good. We can't segregate the people that will be acknowledging into groups, they will be self identifying.
3. {pageapproval-report} has a setting to limit the pages the report will show. {pageacknowledgement-report} does not have this setting. If we have up to 1000 users acknowledging up to 100 pages, this report could get out of hand quickly.