My WIFI module ESP8266 is not connecting to WIFI

OK.

Can you try "AT+CWMODE=3" in the serial console and see (a) how long it takes to respond and (b) if it gives a return code of, say, OK.

Also try AT+CWJAP="wifi_username","wifi_password" and check the time and the returned string (which in this case is checked and must be OK).

Your code is looking for the string "WIFI GOT IP" in the response after it issues the command "AT+RST" . I don't see this in your serial monitor output and this could be firmware version dependent. You are using apparently an ESP-12 module.
Just to be sure, can you go through a successful connection in the serial console, then issue an "AT+RST" to see what the response is.

Your code will hang in function get_ip() if the response to the command "AT+CIFSR" does not contain the string STAIP because 'ch' will not be set, so none of the break statements out of the while loop will be activated.
The output from the serial monitor in the previous post does not show this (STAIP), only the 2 IP address. One of the ESP's Access point and the other of the access point in your local network. Since the IP address 'IP' appears to be used only as information in your code, you should comment out the call to get_ip() to see if you get past the hang.

I don't understand this if you are using the same code as in the OP:

My LCD got stuck on "WIFI Connecting............".

If it prints "Wifi Connected" to the serial console (as in your post #9 ) then it should have written "WIFI Connected" to the LCD according to this code:

     Serial.println("Wifi Connected");
     lcd.clear();
     lcd.print("WIFI Connected");

If you've modified the code in the mean time, post your new code.