Dictionary of names and birthdays
return returns the value, in this case the dictionary birthdays, whereas print just prints the value to the terminal. Your printing might be improved by using f-strings. This is usually a bit easier than having to use "+" inside your print statements. So for example, instead of 

print(new_name + "'s birthday has been added as " + new_birthday)


You could write:

print(f"{new_name}'s birthday has been added as {new_birthday}")


This combined with a generator could also make your dictionary printing a little neater:

print("\n".join([f"{name}'s birthday is {bday}" for name,bday in birthdays.items()]))


The generator creates a list of strings for each item in the birthdays dictionary, so in this case, it would generate the list ["Jon's birthday is July 17","Shauna's birthday is Jan 27", "Lynette's birthday is July 10"]. The join() function is used to combine each element of this list into a new string, separated by the newline character \n. So the final result would produce:

Jon's birthday is July 17
Shauna's birthday is Jan 27
Lynette's birthday is July 10


If you want to further extend this code, I'd recommend representing the birthday as a date object, from the Python built-in library datetime. Then you could also add the functionality of easily telling how many days until someone's birthday and other features like that.