In ArcMap 10.2 and above, you can use Data Driven Pages so that your attribute information (such as the demographic text listed above) changes when the page changes.
You can display any attribute in your attribute table as dynamic text in the map. If the attributes you want to display are not in your feature class, consider doing a join from a table with the attributes into your feature class.
To do this, on the Data Driven Pages toolbar, click on "Page Text" and choose "Data Driven Page Attribute." In the pop-up window that appears, use the drop down menu to choose the field you want to display.
This will insert a text box in your map that contains text something like this:
<dyn type="page" property="attribute" field="AREA_SQ_MI" domainlookup="true"/>
To recreate the statistics like they are in your sample image, you can position the text boxes with the statistics and other text boxes accordingly. In my example, I kept each piece of text in its own text box and used the Align and Distribute tools to line them up. I used a hollow rectangle to make my outline. Here is a screenshot with everything selected, so you can see all of the text box borders and the rectangle border.
(You could combine the dynamic text code all into one text box but I find the spacing is easier this way.)
Here is a quick sample I did to show that it works (also showing a snapshot of the attribute table).