BUG: subtract `pd.offsets.BDay()` from `Timestamp` gives different results when same are expected
- [x] I have checked that this issue has not already been reported.

- [x] I have confirmed this bug exists on the latest version of pandas.

- [ ] (optional) I have confirmed this bug exists on the master branch of pandas.

---

#### Code Sample, a copy-pastable example

```python
def close_prices_start_date(date, period):
    start_date = date - period * pd.offsets.BDay()
    print(
            'date.tzinfo =', date.tzinfo,
            'date.freqstr =', date.freqstr,
            'date.tzname() =', date.tzname(),
            'date =', date,
            'period =', period,
            'result =', start_date)
    return start_date

```

#### Problem description

The above function gives different results when called with the same parameters. I can't see any reason for that so my guess is that this behavior is unwanted. The parameter `date` comes from different `DataFrames` and is read with the following function:
```python
def last_date_of_column(df, column_name):
    return df[column_name].index[-1]
```

I mention this, because the same dataframes give the same results, so it is reproducible. I won't provide the dataframes here, since any relevant information about the parameters should be in the function's print out.

#### Expected Output

When calling the above code with the same parameters `date` and `period` i expect to get the same result



#### Output of ``pip freeze``

```console 
$ pip freeze
numpy==1.19.0
pandas==1.0.5
python-dateutil==2.8.1
pytz==2020.1
quantitative==0.1
schedule==0.6.0
six==1.15.0
```

The print out in the function (result is on the very right and differs for any output for `AAPL US EQUITY`)

```
AAPL US EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-26 00:00:00 period = 20 result = 2020-05-29 00:00:00
9984 JT EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
7203 JT EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
6963 JP EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
6861 JP EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
AAPL US EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-26 00:00:00 period = 20 result = 2020-05-29 00:00:00
9984 JT EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
7203 JT EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
6963 JP EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
6861 JP EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
AAPL US EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-26 00:00:00 period = 20 result = 2020-05-29 00:00:00
9984 JT EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
7203 JT EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
6963 JP EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
6861 JP EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
AAPL US EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-26 00:00:00 period = 20 result = 2020-05-29 00:00:00
9984 JT EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
7203 JT EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
6963 JP EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
6861 JP EQUITY
date.tzinfo = None date.freqstr = None date.tzname() = None date = 2020-06-29 00:00:00 period = 20 result = 2020-06-01 00:00:00
```

