Why are Armor Penetration runes considered much stronger than atk speed runes?
Solution 1:
First, let's clear up a misconception.
Armor Penetration gives you a constant %damage bonus, regardless of how much armor the enemy has see here.
It doesn't matter if your enemy has 300 armor or 15 -- penetrating 10 of that will have the same effect on total DPS increase.
That said, let's take a look at why Armor Penetration is preferred, even with its linearity.
Attack Speed is easy to acquire via items.
Armor Penetration is not.
You can more than match the effects of attack speed runes with a single dagger - 420 gold.
The cheapest item with Armor Penetration is the Brutalizer at 1337 total gold. By this metric alone, Armor penetration runes are worth approximately three times that of attack speed runes.
It is easier to use items to stack Attack Speed over Armor Penetration -- but to get the highest DPS, you want to stack both.
Given that the amount of Armor Penetration available via items is strictly limited, if one's goal is to achieve maximal values for both Armor Penetration and Attack Speed, runes for Armor Penetration are much better than that of Attack Speed.
Solution 2:
From a purely mathematical standpoint, Raven Dreamer's answer pretty much sums it up. You need both to be effective, but Armor Penetration is much more valuable in regards to percent effectiveness and cost effectiveness.
However, there is a less calculable issue at hand here as well that revolves highly around gameplay.
Much like most action RPGs (Diablo, Torchlight) and MMORPGs (WoW, EQ), a lot of value is derived out of your effective DPS. However, modeling these numbers is almost always taking into account a perfect scenario, which is why benchmarks exist. In the case of WoW, the "Patchwerk" fight is a perfect example of this benchmark as there was no need for DPS to do anything other than focus purely on their DPS.
I make this point because that perfect scenario, for all intents and purposes, will never exist in League of Legends. Unless you're playing against extremely low level players, you will not see the chance to stand in place and attack someone. There is going to be movement, there is going to be crowd control, and there is going to be damage coming back at you, all of which greatly influences your ability to dish out consistent damage. If you look at DPS from strictly this paradigm, you want every attack to count as if you were never able to land another attack, and armor penetration is clearly the winner there.
On top of this, you have abilities that disrupt the standard flow of your attacks. For example, Ashe's Volley will bolster her DPS, but her attack speed has absolutely no bearing on it's influence to her DPS, whereas armor penetration has a very noticeable effect for Volley. For champions that utilize a lot of these abilities (bruiser and assassin types come to mind like Irelia, Renekton, Talon), cooldown reduction often far outweighs any benefit that attack speed might offer.
The exception to this all comes in two flavors: niche character builds, and jungling.
Jungling offers you static mob camps that do not try to CC, do not try to run and are in general low threat targets. For this set up, many junglers will opt for attack speed runes due to the early game benefit of clearing the jungle at higher speeds, as well as the increased benefit of either Madred's or Wriggle's.
There are certain niche builds as well, such as Kayle as a carry and Teemo/Kog'Maw that rely typically on "on-hit" items (Malady, Wit's End, etc.) or steroid skills (Kayle's Righteous Fury, for example). Thus, getting more attacks in is sometimes more important than the benefit that armor penetration offers.
Solution 3:
There's one very important thing to consider as far as attack speed runes, which is that all attack speed boosts stack additively, increasing the base aspd by that total percent. The biggest reason that this is important is because attack speed gains on leveling up are treated as attack speed boosts, so you'll only get the listed boost at level 1.
Example: Nocturne has .668 base attack speed (he gets .668 attacks per second), and gains 2.7% attack speed per level. He also has a skill that passively gives him 40% attack speed when maxed. At level 18, ignoring items, he will 88.6% bonus attack speed (48.6 from levels, 40 from the skill), giving him 1.2598 (.668 * 1.886) attacks per second. Now, if you had those runes for 11.8% more attack speed, he'd have 1.3387 (.668 * (1+0.886+0.118)) attacks per second. The difference is 1 - 1.2598/1.3387 = 1 - .941, so 5.89%.
Now that example used a champion with an skill boost, but any champion who you'd want attack speed on (AD autoattackers), will generally buy some attack speed anyways, very easily making the bonus even smaller.
One other, but very important thing. More single hit damage helps you lasthit.