Should the task start and end date be the same? But if I change duration to 1 day, the end date shows the next day
Set the start date and the end date to that day's date. Do not set the duration.
Normally, if very short tasks are exceptions, you do not need to specify a great precision for them. Unless you have a very specific situation, which you did not describe.
As a workaround the duration issue pushing the end date to next day, you can set the duration to slightly less than 1 day.
Hr jk, Apparently your task does not start at the beginning of a work day which be default is 8:00 am. Unless it is the first task in your schedule, the start date and time will be determined by predecessors of the task. The best way to see what's going on is to go to, File > Options > General tab and select a Date Format that includes the time.
By the way, you should NOT set the start date for any task (except in rare instances). Manually entering a start date sets a constraint (start-no-earlier-than) which effectively defeats Project's ability to schedule dynamically. However, you should enter a value in the Duration field.