It sounds like you have a damaged OLED screen. You'll have to replace the screen if you want to keep using the phone. Grab a flashlight and see if you can spot any cracks on the screen beneath the glass.
My suggestion for troubleshooting it is to eliminate the possibility the issue is being caused by a software glitch. I recommend doing a factory reset on your device and seeing if the issue is fixed.
The mostly likely issues are: -Defective charge port/mix flex -Damaged home button flex -improperly connected home button flex I hope this was helpful!
I have to agree with con. You're best bet would be to disassemble, clean, assemble, try a new screen, and see if the phone is recoverable, but it is possible the issue could be caused by damaged to the logic board.
oldturkey03 has the right idea. The repair isn't an easy one, so I recommend looking for a repair shop that specializes in these repairs if you aren't up to the risk.
The headphone jack is attached to the back housing and makes contact to the logic board with pins on the Motorola Moto G. The repair is relatively easy as long as you can get a hold of the part.
Any number of things could cause this, but the most likely is the vibrate motor isn't making contact with the 2 points of contact on the flex on the upper left corner.
It sounds like you're having an issue with your proximity sensor. If there is no damage to the screen or the proximity sensor, it is possible the issue is caused by your screen lifting. One way of checking is by applying pressure to the top of your screen while avoiding the 2 small circles where the proximity sensor is located during a phone call after giving your screen a quick cleaning.