My understanding is that creatures with shadow can only block or be blocked by creatures with shadow, and creatures with flying can only be blocked by creatures with flying. If I have a creature with shadow and cast a spell that gives it flying (say, Jump), can it now only be blocked by nothing but a creature that also has both those abilities?
In a general sense, you are correct. Both abilities impose a restriction that's tracked individually. A creature must satisfy all the restrictions in order to block your super-evasive attacker.
My one niggle is that there are non-flyers that can block fliers, such as creatures with reach. And there are a few creatures, like Wall of Diffusion, that don't have shadow but have "~ can block creatures with shadow as though ~ had shadow" as an ability, which allows them to block shadow creatures (and non-shadow creatures as well, since they don't actually have shadow).
Here's some comp rules for ya, with this exact example:
Trivia: Stronghold Overseer has both flying and shadow natively. On a 5/5 body to boot!
Yes you need both to fulfill both requirements to be able to block a creature with both shadow and flying. You can fulfill these requirements either by having shadow and flying or through other abilities such as reach.