Why am I 1 digit out, when calculating space from two addresses?
First of all, you are talking about the FLASH region, but then about RAM. These are two different things. Second: How many numbers can be numbered by 0 to 9? 10, right? So it is given by 9 - 0 + 1. The same with your space calculation.
The total size is
 0x080FFFFF - 0x08000000 + 1 = 0x100000 = 1048576. Then 1048576 / 1024 = 1024.