Where did you get the role Everyone - is it your custom role where you assign all the users? Also, are we talking about editor users and access to the pages in the Pages app, content tree? Or live site permissions?
If a user is in multiple roles and at least one role has deny or not specified permission, better safe than sorry, the denial permission wins. It should be the same as setting up disk permissions in Windows.
Also, there is the "Check page permissions" setting which changes the behavior a bit -> If you also want the system to filter the pages displayed to editors in the content tree according to the configured permissions. This means, that the editor may/may not see given page in the content tree based on the read permission.
Have you tried using the permissions inheritance and break it, copy from parent and then adjust it for particular roles? E.g. set deny to all roles and then go to particular page/section, break the inheritance, copy permissions from parent and just adjust the permissions to allow for one particular role. the other roles will inherit the denial permissions.
Setting up permissions is always tricky and in some cases it requires some more clicking and manual configuration - again so that the administrator deliberately clicks and knows what is being set and where. Better safe than sorry. It really depends on the sensitivity of the data. If it is not something that crucial you can use your workaround.