To solve the optimization problem described, we need to translate the natural language description into a mathematical representation and then into Gurobi code in Python. The goal is to maximize profit under given constraints.

Let's denote:
- \(x\) as the number of LCD monitors made each day.
- \(y\) as the number of LED monitors made each day.

The objective function, which represents the total profit, can be written as:
\[ \text{Maximize:} \quad 25x + 70y \]

Given constraints are:
1. Demand for LCD monitors: \( x \geq 150 \)
2. Demand for LED monitors: \( y \geq 80 \)
3. Production limit for LCD monitors: \( x \leq 300 \)
4. Production limit for LED monitors: \( y \leq 280 \)
5. Total monitors production requirement: \( x + y \geq 250 \)

All variables are non-negative since they represent quantities of monitors.

Now, let's translate this into Gurobi code in Python:

```python
from gurobipy import *

# Create a new model
m = Model("Monitor_Production")

# Add variables
x = m.addVar(name="LCD_Monitors", lb=150, ub=300)  # Number of LCD monitors
y = m.addVar(name="LED_Monitors", lb=80, ub=280)   # Number of LED monitors

# Set the objective function
m.setObjective(25*x + 70*y, GRB.MAXIMIZE)

# Add constraints
m.addConstr(x + y >= 250, name="Total_Monitors_Requirement")

# Optimize model
m.optimize()

# Print solution
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"LCD Monitors: {x.x}")
    print(f"LED Monitors: {y.x}")
    print(f"Total Profit: {m.objVal}")
else:
    print("No optimal solution found")
```