It works like this, because:
print output1()
means that you want to print the RESULT of the function (ie. the value of return).
And because there is no return in your function, by default it's None.
def output1():
print "Hello, world!"
def output2():
print "Hello, there!"
return "Something"
print output1()
print output2()
Would result in:
Hello, world!
None
Hello, there!
Something