The w3c validator includes a "How to fix" hint when it gives errors like that.
In your case, it says:
How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case)...
That is, change the attribute names to be all lower case:
<textarea id="message" cols="20" rows="5" name="message" onkeydown="textCounter('message','messagecount',100);" onkeyup="textCounter('message','messagecount',100);"></textarea>
<span id="charsleft"></span>
It would be better to remove the inline event attributes and add event handlers from the JS in your script block, but I'm feeling lazy so I'm declaring that out of scope. (Google "unobtrusive javascript" for some hints about that.)