Applescript array of applications
You generally can't substitute a list for a string and have things work without some other changes.

A good way to get around this is to use a repeat with variable in list approach. This lets you go through each item in a list and run your code with each item in the list individually.
Here's how to apply that to your code:

set browsers to {"Google Chrome", "Firefox", "Opera", "Safari"}

repeat with browser in browsers
    if application browser is running then
        tell application browser
            activate
        end tell
        tell application "System Events"
            tell process browser
                keystroke "r" using {command down}
            end tell
        end tell
    end if
end repeat


Everything is the same except that your code is wrapped in a repeat with block and the "Safari" literal is replaced with browser, a reference to the current browser in the list of browsers (the code will be run once for each browser in the list).