The simple factual explanation for why this happens is that the offset properties top, right, bottom and left actually respect the corresponding margin properties on each side. The spec says that these properties specify how far the margin edge of a box is offset from that particular side. The margin edge is defined in section 8.1.
So, when you set a top offset, the top margin is taken into account, and when you set a left offset, the left margin is taken into account.
If you had set the bottom offset instead of the top, you'll see that the bottom margin takes effect. If you then try to set a top margin, the top margin will no longer have any effect.
If you set both the top and bottom offsets, and both top and bottom margins, and a height, then the values become over-constrained and the bottom offset has no effect (and in turn neither does the bottom margin).
If you're looking to understand why the spec defines offsets this way, rather than why browsers behave this way, then it's primarily opinion-based, because all you'll get is conjecture. That said, Fabio's explanation is quite reasonable.
This explanation is clearest for me. The spec says that for absolute elements, top places the edge of the top margin, not the edge of the element top. And similarly, bottom places the edge of the bottom margin not the bottom edge of the element. That makes it clear. But while these margin values will affect the initial, absolute placement of the elements, they never fulfill their normal role as margins, because, of course, the absolute positioning lifts the absolute elements out of the normal flow. The margins don't exist for the elements themselves. Thanks.