BUG fixes for date_range boundaries
- [X] closes #56134
- [X] closes #56147 
- [X] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [X] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [X] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

Fix for two issues with date_range where:
* A valid timestamp in range would be accidentally dropped when using year end and the starting timestamp was not midnight (56134)
* A negative year end offset and start increment at a date earlier than year end would include the year end of the starting date (despite being out of bounds of start and end)
pre-commit.ci autofix This pull request is stale because it has been open for thirty days with no activity. Please [update](https://pandas.pydata.org/pandas-docs/stable/development/contributing.html#updating-your-pull-request) and respond to this comment if you're still interested in working on this. > This pull request is stale because it has been open for thirty days with no activity. Please [update](https://pandas.pydata.org/pandas-docs/stable/development/contributing.html#updating-your-pull-request) and respond to this comment if you're still interested in working on this.

updated and still pending review sorry for the delay, will try to get to it this week or next ok then I'll close this, this has been picked up separately in:
* https://github.com/pandas-dev/pandas/pull/56831 for #56134
* https://github.com/pandas-dev/pandas/pull/56832 for #56147

Thanks
