The Access database with 12,000 lines of VBA is not technical debt. It is the business. People built it because IT said no, and it has quietly run a department for a decade. Proposing a rewrite is how you lose the room.
What works is a strangler approach. First, move the data: link the Access front-end to a real database (SQL Server or PostgreSQL via ODBC) so the tables live somewhere with backups, concurrency and an audit trail. The users notice nothing except that the app stopped corrupting itself.
Second, pick off the batch jobs — the Friday export, the monthly reconciliation — and rewrite those in Python against the same tables. They are the easiest to test (compare outputs) and the most painful to leave in VBA.
Third, rebuild the screens one at a time as web pages, starting with the ones used by people who are not the original author. The Access front-end keeps working the whole time; each month it does a little less. When the last form moves, nobody throws a party, because nothing changed from the users' point of view. That is the goal.