This looks like a case for a UNION. You do your main SELECT then UNION a SELECT of the ID and the date minus 1 day. There is probably another way to do it (there is always more than 1 way to do something in SQL... I imagine a CTE could do it), but I like to keep things easy and this sounds like you are basically wanting to do 2 selects - first of the raw data and second a filtered result set with the date prior but same ID.
At least that's how I'd approach it. So along the lines of:
SELECT ID, Date
SELECT ID, DATEADD(day,1,Date)
WHERE Date >= CAST('10/2/2023' AS DATE)
AND DATE <= CAST('10/30/2023' AS DATE)
Depending on performance considerations or if this is part of a stored procedure, I may move those dates to variables rather than hard-coded in the query. But for a one-off run, I'd use something similar to the above...
The above is all just my opinion on what you should do.
As with all advice you find on a random internet forum - you shouldn't blindly follow it. Always test on a test server to see if there is negative side effects before making changes to live!
I recommend you NEVER run "random code" you found online on any system you care about UNLESS you understand and can verify the code OR you don't care if the code trashes your system.