If you notice, the mask 022 yields 755 on directories (the executable flag makes them browsable, as opposed to invisible when it's not present within the permissions octal), making them searchable. Files, however, do not get this executable bit by default. This is a matter of convenience and security within the POSIX specification.
Aside from your wanting to use the /root directory as a repository for scripts, nobody wants to have to explicitly set their various files that are created to be non-executable across the system as a price for having directories searchable. So in the intrerest of usability you have this problem of default execute on directories, but not files.
Your problem can be easily solved by ACLs, which are capable of permission inheritance (something UNIX permissions cannot do). Read carefully the man pages for getfacl, setfacl, and the documentation here: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/ch-acls.html
Essentially, ACLs are an extended permission control set that can utilize in addition to extend existing POSIX access capabilities. The fairly limited but universally accepted POSIX ACL set will accomplish what you want.
If you're not interested in inheritance, yet jsut want to make files executable on a one-off basis, the command "chmod" will do what you want. For example, chmod u+x /root/script.sh
will render the file /root/script.sh executable by its user owner (which oughtta be root in that case). The man page for chmod will tell more than I need to here.