You have an extra double quote at the end, which is adding it back to the end of the string (after removing both quotes from the string).
:: Input:
set widget="a very useful item"
set widget
set widget=%widget:"=%
set widget
:: Output:
widget="a very useful item"
widget=a very useful item