Suppose that I want to deploy two web sites using Django and mod_wsgi for Apache.

Q1: does it necessarily imply that two Django projects must exist, or maybe a single project can handle two (or more) sites with some form of dispatch?

Q2: does one project imply one copy of Django loaded in memory, two projects -> two copies of Django, and so on? In this case it would be much more convenient to opt for 1 project/app able to handle more sites.

You can set up 1 apache instance to serve multiple Django instances with VirtualHost directives. This was addressed here, http://community.webfaction.com/questions/199/share-a-django-webfaction-app-between-multiple-projects

Each control panel application is its own server stack. Although it is possible to run more than 1 django from 1 apache it also increases the likelihood there will be bottlenecks as it increases the load of that 1 apache process. You would eventually solve this by increasing the ServerLimit directive and other thread related directives, so ultimately it is simpler and about as effective to just use 1 app per project.