The above 2 statements are in a while loop
Each time you read a character from the PC, you set the cursor position, and print the character at that position.
So when the PC sends the 2 characters 8 and 7, you first print the first character (8) at location [4,0], and then you print the second character (7) at location [4,0]... right over top of the first character.
Try moving lcd.setCursor(4,0); to before the loop.