I disagree with some of the things you describe as limitaions:
- Only the student role should have mod/quiz:attempt capability. That is the default. The logic of using this capability to decide who gets the message is correct. (If your role setup is different, I recommend you reveiw it.)
- The content of the message is a language string. Thefore you can customise it using Language customisation.
- The groups thing was just a bug, and I think it got fixed: MDL-84327.
I think that pretty much only leaves making the time-perion customisable. For me, the issue is not just the 2 days, it is the built in assumption what all quizzes with a close date have an open date. I tried to point out that was a false assumption before this got implemented, but I was ignored.