More of a 'why' than a 'how' question...
DateValue[{2014,4,12},"DayName"]
returns Saturday, a symbol rather than the string "Saturday".
Every other result that DateValue returns that is not a number is a string not a symbol so why the special case for Days of the Week?
Just to add to the confusion DayNameShort and DayNameInitial do return strings.