Multi driver error in VHDL
You are writing address_ram from two separate processes.  Just put them in the same process and it should work fine.

As a general note, when you multiply assign a signal in a process, the last assignment in the process overrides all of the previous assignments.  In many cases this is used to set a default value for a signal that is changed later in the process.