my LCD wont reset the count properly. please help.

To expand on Gabriel's comment.
You have told the LCD what to print (a number in this case).
The LCD will continue to show that until you tell it print something else.

If you print a value like 10 on the display at position 0,0 then there is a 1 at 0,0 and a 0 at 1,0

If after printing that number, reduce the value you print to 0, and print it at position 0,0 then the 0 will be at 0,0 and another 0 will be at 1,0 since you never told the LCD to print anything else at the 1,0 position.

The Print class that comes with the Arduino IDE does not support fixed width printing.
So if you use the print() function to print numbers there is no way to tell it the field size.
If you want a fixed width field, you must handle it yourself.
i.e. print leading zeros/spaces if you want right adjusted, or space padding if you want left adjustment.

Alternatives:
If you have a teensy product, its Print includes a printf() method that you can use to get fixed width output.

You could add printf() to the Print class yourself. See this Printf page I did long ago:
https://playground.arduino.cc/Main/Printf

You could look at using the PrintEX library which is really nice and will add a printf() method to your object.

You could use sprintf() yourself to format the output into a buffer then print the buffer.
i.e.

char buf[32]; // declare buffer (don't try to format more than this size)
sprintf(buf, "%04d", cnt); // format a fixed width 4 digit zero filled string.
lcd.print(buf); // print it.

--- bill