From my understanding, you want to record income and expense for a family, which you want to treat as a single accounting entity that has multiple sources of income (the income of each person), and multiple types of expenses (for each person).
There aren't many open source solutions that allow multiple simultaneous users. For fulfilling your requirements, self-hosted web interface solutions come to mind.
LedgerSMB
This is oriented towards the needs of a small businesses. It uses double-entry accounting. Users interact with it through a web interface, and the data is stored in a PostgreSQL database. Multiple logged-in users can access the interface at the same time, and they all interact with the same chart of accounts (i.e. users more or less share the same data). It has budgeting features. The reporting features are oriented towards financial reporting (e.g. trial balances, income statement, etc.). LedgerSMB may be overwhelming if you do not understand double-entry accounting. There's a book available to teach you how to use it: Running your business with LedgerSMB.
Firefly III
This is oriented towards personal finances. Users interact with it trough a web interface, and the data is stored in either a MySQL or PostgreSQL database. Note that each user has a completely separate login account (i.e they do not share data with each other). It does not have full double-entry accounting. It has all the other features you listed.
If the above is too complicated or too high-maintenance, you may want to consider using a single-user desktop-only offline solution such as GnuCash instead. In my family, each person has their own GnuCash file (or some other double-entry accounting tool), and produce reports for each other when making joint decisions. I find that the separation of finances reduces complications (what happens when a family member moves out?), but I understand that your needs may be different.