This sounds like the filter rules > forward chain is your problem.
Or else it's a policy routing issue.
10.0.0.1 is reached via the input chain since it's one of the router's IP addresses, and that's why that one address works.
Traffic from 172.16.x.x for the rest of 10.0.x.x will go through the FORWARD chain instead.
The default firewall configuration in Mikrotik basically allows LAN -> WAN but denies all others - when you add a second LAN network, the firewall probably doesn't know that this is also a LAN.
In general, whatever rule allows 10.0.x.x to go out should either...
a) be duplicated and also allow 172.16.x.x
b) if it matches using the src IP addresses, then modify the rule to use an address-list and put 10.0.0.0/16 and 172.16.0.0/16 in your address list.
c) if it matches using the in-interface, then modify it to use in-interface-list and put the two LAN interfaces into an address list (call the list "LAN-interfaces" or something obvious like that)
I like option C the best because you can change IP address ranges w/o needing to modify your firewall anymore, and if you add/move/change which interfaces are "lan" interfaces, then you just add/remove/change them in the interface list.
If it's policy-routing related, then you need to make sure that 10.0.0.0/16 and 172.16.0.0/16 are exempted from policy routing:
/ip route rule add action=lookup-only-in-table table=main dst-address=10.0.0.0/16
/ip route rule add action=lookup-only-in-table table=main dst-address=172.16.0.0/16
When given a spoon,
you should not cling to your fork.
The soup will get cold.