1. Is there any problem to name a child only "Muhammad" without a second name?

2. Can i also name my child "Muhammad Mahdi" or is there any problem ?

No problem in either case.
Usually some people like to have some other nickname for a child (as they don’t like to tell off a child with the name of the prophet or Imam) but it’s not necessary