These are all valid English sentences, and they all mean roughly the same thing.
I will go into more detail below. But, I think I can provide some intuition by writing some simpler sentences to analyze.
- "I'm walking onto the sidewalk"
- Means: I was not on the sidewalk, but if I keep walking I will be on the sidewalk.
- "I'm walking on the sidewalk"
- Means: I was already on the sidewalk and now I'm walking
- "I'm walking into the store"
- Means: I was not in the store, but if I keep walking I will be in the store.
- "I'm walking in the store"
- Means: I was already in the store and now I'm walking
Now, the detailed analysis:
1.Thousands of people came out on to the streets to attest their support for the democratic opposition party.
- This is only a slight variation from the original sentence where "onto" was used. The way this sentence is phrased, it emphasizes that the people are physically placing themselves on the physical streets.
2.Thousands of people came out on the streets to attest their support for the democratic opposition party.
This sentence would be a little awkward for an English speaker. It is technically still a correct sentence and it does mean what you think it means. However, the expression "came out" is often used these days to mean that a person has announced that they are a homosexual*. People reading the sentence critically might interpret your words as meaning that a bunch of people stepped out on some asphalt and told each other that they were gay. It might be best for you to avoid using this sentence, since you have better options available.
Using into or onto suggestions that people are moving from one location to another. "On" and "in" tend to be used when a person is already in the place. For example:
*It can also mean announcing that they are transsexual, bisexual or even just that they have a secret side to their life that they are revealing.
3.Thousands of people came out to the streets to attest their support for the democratic opposition party.
4.Thousands of people came out into the streets to attest their support for the democratic opposition party.
- These sentences use the word "streets" in a different way than your other sentences. In these two sentences, a "street" is now being referred to as a place (4th Street) rather than a physical object (asphalt poured over the ground).
5.Thousands of people came out in the streets to attest their support for the democratic opposition party.
- This sentence has the same problem as #2. However, since it also uses the word "in" it now refers to a place, rather than to the physical asphalt.
As a native English speaker, I would prefer to use #4: "Thousands of people came out into the streets" because the point of this sentence is to tell the reader that a group of people gathered in a place. We don't actually care what the people are walking upon.