Why do I receive downvotes when I am genuinely trying to learn?
Because someone decided to downvote you. People can vote for whatever reason they want with just a few exceptions related to voting fraud. Perhaps the person didn't find the question interesting, felt that it wasn't clear, was just feeling grumpy, or for whatever reason didn't think that it would be valuable to future readers. We can't know why someone else voted, nor can we say that it is right or wrong. People have the right to vote however they want.
Why when I try to learn something about programming on SO do I get down voted?
While, as I said, we can't know what the downvoter(s) were thinking, I think it's pretty fair to say that they probably weren't downvoting you because you were trying to learn.
Out of all the stack sites this one is the most un-welcoming to people trying to learn.
Well, SO does tend to get a lot of crap. Several other SE sites have this problem as well (as a percentage of content), but none of them can compare to SO in terms of volume of questions (both good and bad). This has resulted in very strict quality standards for both questions and answers. It can also result in regular users becoming frustrated with those asking questions.
We work very hard here to ensure that users don't act rudely or otherwise inappropriately towards posters, even if they post low quality content. It's important to find ways of providing feedback (both positive and negative) while still remaining constructive. I see nothing in any of your questions in which there has been unconstructive or rude negative feedback. It may be a bit terse at times (i.e. just a downvote rather than a long consoling comment). It's important to remember that terseness doesn't mean rudeness.
Why is the culture against beginner and novice programmers?
It's really not. This is just a widely held misconception. The culture here strongly discourages questions clearly asked with little effort put in. If your problem can be solved quickly and easily by yourself with some simple research or your own attempts it may not be well received. This is related to, but not directly tied to, the difficulty.
There are simply a huge number of existing resources for beginner and novice programming problems. So many of these problems can be easily solved by simple searches to existing content.
If a question is clearly very difficult, but still a very common problem that has well documented explanations and solutions it will (probably) not be well received here. Likewise very basic questions that seem trivial to an expert that clearly cannot be easily solved through simple research by a non-expert can be very well received if it's clear that the asker put effort into their own attempts.