You have the button connected to GPIO pin 16 and Ground on the top Pi, and both Pis have GPIO pin 21 connected together. The code you showed is setting GPIO pin 21 as an output (and to HIGH) and setting GPIO 16 to be pulled HIGH by default (on the top Pi). When the button is pressed GPIO pin 16 (on the top Pi) is connected to Ground so the statement:
GPIO.input(16) == 0
is true and 'Hello' is printed.
I'd guess the behaviour you want is for it to set GPIO pin 21 to LOW (instead of printing 'Hello'). That way you are changing the state of the GPIO pin 21 on the bottom Pi (and can have it react).
on the top Pi.
Code for the bottom Pi would look something like this:
import RPi.GPIO as GPIO
GPIO.setup(21, GPIO.IN, pull_up_down = GPIO.PUD_UP)
if(GPIO.input(21) == 0): print "Hello"