English language learners seem reluctant to cast a vote even after receiving a thorough, time-consuming answer. This is rather discouraging for teachers or English speakers who wish to contribute. Unlike other sites (e.g. Spanish language), where the tendency is to receive several answers as well as votes and there is a much higher predisposition for exchanges between questioners and answerers, English language learners ask lots of questions and only receive a few answers, most probably from people who don't care about wasting their time or are not aware about questioners' laziness to at least cast a vote or say "thank you."
I disagree with quite a few of your sentiments.
Here's what I've learned after about 5 years on the Stack Exchange, mostly in language forums:
1) Don't expect there to be a proportional relationship between the work you put into an answer and the number of upvotes it gets. More often than not, some of the more highly-upvoted answers are a result of a question getting a lot of views. (A question might make the "Hot Question List" and subsequently get a lot of traffic, and many of those viewers will see an answer that pretty much mirrors what they would have written had they seen the question earlier. Click. Upvote. Meanwhile, the question you spent 45 minutes answering is collecting proverbial dust. Oh, well, all's not fair in love, war, and the Stack Exchange.)
2) Don't let Lesson #1 dissuade you from writing a good answer. The opportunity to help learners around the globe should be rewarding enough in and of itself.
3) Many good answers WILL attract upvotes – although maybe not as quickly as you might have hoped. I just took a screenshot of some upvotes I've had in the past week; most of these questions were asked over a month ago, and some of them were asked more than a year ago! Yet people still find these questions, and upvote answers.
4) Not everyone is as addicted to the Stack Exchange as you are. Sometimes I'll spend a lot of time writing something I think was a pretty good answer, and then hear nothing. But a couple weeks later, my answer gets accepted! (Or maybe another answer will get accepted, right around the time when I get an upvote.) Accept that some people might ask a question and then wait a few weeks to look at the answers.
5) Comments that say "Thank you!" are generally discouraged on the Stack Exchange. Not everyone agrees with this cultural phenomenon, but enough do that it's a widespread and prevalent sentiment. (See the relevant discussions here and here, e.g.). You may feel underappreciated when you don't get such comments, but it might help you to realize that some users might be refraining from leaving a comment deliberately and as a matter of politeness, wanting to adhere to SE customs.
Personally, I don't see a need to exhort users to upvote more. As was said in a comment here, I'm afraid that such encouragement might result in more mediocre answers getting upvoted, and, generally speaking, I'm more disappointed with a bad answer that gets upvoted than I am with a great answer that's not being upvoted – even when that answer is my own.
It is unclear if you are criticising questioners or answerers, or both.
Very few on-topic questions are left unanswered in ELL. If some questions receive only one answer, it may be because they are rather basic and one (obviously correct) answer is sufficient to meet a questioner's needs. Also, a lot of questions are answered with comments, and if they are basic, no one may feel that it is worthwhile providing a formal answer.
If questions are not up-voted, it may be because they are very basic. I must admit that I do not up-vote basic questions. Perhaps I should if they are well-presented. Of course, if I suspect that they are homework questions (which are not explicitly off-topic), perhaps I shouldn't.
Answers to basic questions may also not receive any up-votes. However, I find that a well-worded and properly referenced answer generally receives one or two upvotes.
As for questioners not accepting answers, there may be several reasons for this:
The first (and fairly obvious) reason is that they may be pushed for time, and if they have asked the same question on another site, they may not return here if they have already got an answer elsewhere. Bad manners, I know, but what would you do if you were in a desperate rush to complete an essay?
Another reason is that users may (mistakenly) think that the accept button is to be used only for selecting the best answer when there is more than one, and if there is only one answer, then this action is not appropriate.
Finally, SE generally recommends that you do not accept answers straight away, but rather leave it for at least a day. More savvy users may know this and simply forget to come back.
I don't think that the regular answerers mind too much if their answers are not accepted. If they did, they would quit the site. The one behaviour that is irksome, at least to me, is when questioners delete their questions once they have got what they want, but that doesn't happen too often.
Finally, if questioners do not thank answerers for their work, remember that this is SE policy, and thank-you messages are generally considered to be "noise".