I'd like to make my own crypto currency. I don't want to just recompile the Bitcoin source code and the rename it. I'd like to do it from scratch just to learn more about it. I'm thinking of using Python as the language for the implementation but I heard that in terms of performance Python isn't the best. My question is, would a network written in Python be able to perform well under the possibility of millions of peers (I know it's not going to happen but I'd like to make my network scalable.)
Depends which part is in Python. The network is, by definition, I/O bound. It's unlikely that using Python rather than C/C++/etc. will cause a noticeable performance drop for the client itself. Your choice of cryptographic algorithm will also have a large impact on performance (how quick it is to verify transactions, etc.).
Now, as for 'mining' the currency, it would be silly to do that with Python since that's very much a CPU-bound task. In fact, using a GPU which allows for massive parallelism on trivially parallel problems is a much better idea (CUDA or OpenCL work great here).