If you want a single widget that changes the DoW of the current Date forward to the next instance of a particular DoW then try the following.
/* Change DoW to the next instances of a particular DoW. */
<<widget "changeDoW">>\
<<silently>>
<<set _day to $args[0].toUpperCase()>>
<<if GameDays.contains(_day)>>
<<set _DoW to $gameDate.getDay()>>
<<set _newDoW to GameDays.indexOf($args[0].toUpperCase())>>
<<set _offset to _newDoW - _DoW>>
<<if _newDoW <= _DoW>>
<<set _offset += 7>>
<</if>>
<<adddays _offset>>
<</if>>
<</silently>>\
<</widget>>
The above changedow macro assumes you will pass it one of the Day Names defined in the window.GameDays variable, it then calculates the offset (number of days) between the current Day and the next Day with the required name.
The following example demonstrates the usage of the new macro, for simplicity sake the example resets the original date between calls to the new macro.
<<set $gameDate to new Date(2017, 11, 6, 17, 0, 0)>>\
Original date: <<datetime>>
<<changedow "MONDAY">>\
next Monday: <<datetime>>
<<set $gameDate to new Date(2017, 11, 6, 17, 0, 0)>>\
<<changedow "TUESDAY">>\
next Tuesday: <<datetime>>
<<set $gameDate to new Date(2017, 11, 6, 17, 0, 0)>>\
<<changedow "WEDNESDAY">>\
next Wednesday: <<datetime>>
<<set $gameDate to new Date(2017, 11, 6, 17, 0, 0)>>\
<<changedow "THURSDAY">>\
next Thursday: <<datetime>>
<<set $gameDate to new Date(2017, 11, 6, 17, 0, 0)>>\
<<changedow "FRIDAY">>\
next Friday: <<datetime>>
<<set $gameDate to new Date(2017, 11, 6, 17, 0, 0)>>\
<<changedow "SATURDAY">>\
next Saturday: <<datetime>>
<<set $gameDate to new Date(2017, 11, 6, 17, 0, 0)>>\
<<changedow "SUNDAY">>\
next Sunday: <<datetime>>