Picture a row of three different block letters like the one above.
^V selecting the above, I couldn't change all the ones to A in the last letter in the row due to unequal length lines. The previous block letters worked fine with
:s/\%V1/T/g "Previous Block letter was a T made from '1's. Change /T/ to ...
The issue is that you're calling feedkeys() and that function adds the keypresses to the end of the typeahead buffer, which means they don't execute right away.
From :help feedkeys():
By default the string is added to the end of the typeahead buffer, thus if a mapping is still being executed the characters come after them.
There are flags you can pass ...
Here's another method that no-one else has mentioned yet. First, note that, in your example, "within the quotes" is equivalent to "after the first quote".
Therefore, you can run the following substitution:
'<,'> # In the visual selection
s/ # substitute