On the mongoDB documentation for a production cluster architecture I read that the minimum amount of servers for a running production mongoDB cluster is 7:
Is it possible to share the routers, config servers and shards on the same servers (having 3 total servers each with a router, config and shard service)?
The minimum number is 1 server. If by "production" you mean "fault tolerant" then the minimum number is 3: you have a replica set containing 3 servers. The config servers also run on these servers. If you want to include "horizontal scaling" i.e. "web scale!" as well then the minimum number is 9: you have 2 shards consisting of replica sets of 3 servers and 3 more servers as config servers. If you include your app, not just mongodb, then add your two app servers to the mix for a total of 11 (it goes to 11!).
Basically you are interpreting that picture incorrectly in two ways: your app servers are not part of a mongodb cluster and the shards (green boxes) are replica sets, which contain at least 3 servers.